将 html 附加到找到“包含”的文本
Posted
技术标签:
【中文标题】将 html 附加到找到“包含”的文本【英文标题】:Append html to text which find with "contains" 【发布时间】:2020-12-07 11:23:58 【问题描述】:我想在找到它时将 html 附加到文本中:
$( "div:contains(']')" ).append("<br>");
.. 这是错误的,因为我想定位这个特定的文本并添加 html 而不是在整个 div 上附加 html。
【问题讨论】:
【参考方案1】:您需要迭代匹配元素具有的文本节点,并在每个文本节点的值中找到“]”。当文本节点有这个字符时,将文本节点一分为二,并在其间注入<br>
元素。
这里有一些你可以使用的代码:
$( "div:contains(']')" ).each(function ()
$(this).contents().each(function ()
if (this.nodeType !== 3) return; // Only interested in text nodes
let i; // position of the "]".
while ((i = this.nodeValue.indexOf("]")) >= 0)
$(this).before(this.nodeValue.slice(0, i+1), $("<br>"));
this.nodeValue = this.nodeValue.slice(i+1);
);
);
【讨论】:
以上是关于将 html 附加到找到“包含”的文本的主要内容,如果未能解决你的问题,请参考以下文章