jQuery如果div包含这个文本,则replace那部分文本

就像标题所说,我想要replacediv中的特定部分文本。

结构如下所示:

<div class="text_div"> This div contains some text. </div> 

例如,我想用“hello everyone”来代替“contains”。 我找不到解决scheme。

您可以使用text方法并传递一个返回修改后的文本的函数,使用原生的String.prototype.replace方法执行replace:

 ​$(".text_div").text(function () { return $(this).text().replace("contains", "hello everyone"); });​​​​​ 

这是一个工作的例子 。

 var d = $('.text_div'); d.text(d.text().trim().replace(/contains/i, "hello everyone")); 

如果可能的话,你可以把你想要replace的单词换成span标签,就像这样:

 <div class="text_div"> This div <span>contains</span> some text. </div> 

你可以很容易地改变它的内容与jQuery:

 $('.text_div > span').text('hello everyone'); 

如果你不能用span标签包装它,你可以使用正则expression式。

您可以使用包含select器search包含特定文本的元素

 var elem = $('div.text_div:contains("This div contains some text")')​; elem.text(elem.text().replace("contains", "Hello everyone"));