Insérer du code HTML dans le nœud de texte avec JavaScript
J'ai un petit nœud de texte:
var node
Et je veux enrouler une durée de autour de chaque occurrence de "lol".
node.nodeValue = node.nodeValue.replace(/lol/, "<span>lol</span>")
Il imprime "<span>lol<span>"
quand je veux "lol"
comme un élément span.
- dans ce cas, vous devrez repace le nœud de texte avec un contenu html
- Comment dois-je faire?
- besoin de remplacer le nœud de texte avec de nouvelles DOM élément span et les nœuds de texte, ou de modifier l'un de ses parents propriété innerHTML. Allez-y, postez ce que vous essayez.
- Les nœuds de texte n'ont pas de propriété innerHTMl.
- vous cann pas il suffit de le mettre comme ça, vous avez peut-être droit à un peu de code pour remplacer le nœud de texte. Pouvez-vous partager le code html du nœud de texte
<span>lol</span>
devrait fonctionner, je suppose. (Insérer en HTML au lieu de cela, alors il pourrait facilement obtenir dans le nœud de texte, je pense que oui).- Cliquez herecela pourrait aider.
- peut-être cette SORTE peut vous aider à le résoudre, si vous pouvez utiliser jquery stackoverflow.com/questions/7698673/...
Vous devez vous connecter pour publier un commentaire.
Vous pouvez avoir besoin
node
être le nœud parent, de cette façon, vous pouvez simplement utiliser innerHTML:Ici
node.childNodes[0]
désigne le nœud de texte, etnode
est son élément contenant.node.innerHTML
a changé, mais il n'y a pas de changement à l'INTERFACE utilisateur. Aussi,node.parentNode.innerHTML
ne contient pas de ce nouveau changement.Pas dire que c'est une meilleure réponse, mais je poste ce que j'ai fait pour l'exhaustivité. Dans mon cas, j'ai déjà regardé ou déterminée, le décalage du texte que j'avais besoin de le mettre en évidence dans un texte #nœud. Cela permet également de clarifier les étapes.