如何仅在js中编码内部标签,但我不知道标签出现的顺序。我确实知道我只会拥有EM,Strong,br和一个标签。看看有趣的O和&&&&&&以下。谢谢。
<div>hello my <em>friend</em>, this is how you <em><strong>search</strong></em> <strong><a href="http://google.com">göogle</a></strong> & remember, don't lose your <strong><em>googliness</em></strong>...</div>
因此,它应该仅编码标签中的特殊字符,而不是标签本身。
所需的输出:
<div>hello my <em>friend</em>, this is how you <em><strong>search</strong></em> <strong><a href="http://google.com">göogle</a></strong> & remember, don't lose your <strong><em>googliness</em></strong>...</div>
这应该帮助您起床;跑步。只需在childNodes
上迭代并修改其textContent
属性:
[...div.childNodes].forEach(
(el) => {
// here you can do whatever you want with your nodes
el.textContent = el.textContent.toUpperCase();
// so this is the place to implement your encoding logic
}
)
<div id="div">
hello my <em>friend</em>, this is how you <em><strong>search</strong></em> <strong><a href="http://google.com">göogle</a></strong> & remember, don't lose your <strong><em>googliness</em></strong>...
</div>