如何在span元素组后替换纯文本内容或文本节点?
我需要在<span>...</span>节点后立即用竖线替换每个逗号,因为我无法直接访问原始 html。我什至犯了一个错误,使用 css pesudo-element 之类的::after. 是否有任何 javascript 或 jQuery 解决方案可以在整个孤立的文本节点上进行操作?
示例表示,因为它是:
<span class="irreg-infls">
<span class="inf-group"><span class="inf">aaa</span></span>
,
<span class="inf-group"><span class="inf">bbb</span></span>
,
<span class="inf-group"><span class="inf">ccc</span></span>
</span>
用户的最终表示:
<span class="irreg-infls">
<span class="inf-group"><span class="inf">aaa</span></span>
|
<span class="inf-group"><span class="inf">bbb</span></span>
|
<span class="inf-group"><span class="inf">ccc</span></span>
</span>
回答
使用以下代码替换相同的代码。
请参阅检查节点类型
document.querySelector('.irreg-infls').childNodes.forEach((node)=>{
if(node.nodeType == 3 && node.nodeValue.trim() == ',' ) {
node.nodeValue = node.nodeValue.replace(',', '|');
}
})
<span>
<span><span>aaa</span></span>
,
<span><span>bbb</span></span>
,
<span><span>ccc</span></span>
</span>