jquery:查找文本并replace

<div id="id1"> <p> apple </p> <p> ball </p> <p> cat </p> <p> dogsss </p> </div> 

我如何改变使用jquery dogsss dollsss

你可以试试

 $('#id1 p').each(function() { var text = $(this).text(); $(this).text(text.replace('dog', 'doll')); }); 

http://jsfiddle.net/2EvGF/

您可以使用.html()和/或根据您的需要进一步复杂的.replace()调用

 $("#id1 p:contains('dog')").html("doll"); 

这将做到这一点。

http://jsfiddle.net/pgDFQ/

 $('p:contains("dogsss")').text('dollsss'); 

尝试这个,

 $('#id1').html($('#id1').html().replace('dogsss','dollsss')); 

工作样本

更具体:

 $("#id1 p:contains('dog')").text($("#id1 p:contains('dog')").text().replace('dog', 'doll')); 

testing查找和replace方法。您也可以使用简单的方法。

 var string ='my string' var new_string = string.replace('string','new string'); alert(string); alert(new_string); 

Joanna Avalos的答案是更好的,只需注意,我将.text()replace为.html() ,否则,内部的一些html元素将被销毁。

我正在寻找类似的东西,我使用Doug Owings发布的代码,但是我的文本有一些br标签,代码正在删除它。

所以我使用这个:(请注意,我将.text()replace为.html())

文本:

 < p class = "textcontent" > Here some text replace me < br > here an other text < br > here is more text < /p> 

JS:

 $('.textcontent').each(function() { var text = $(this).html(); $(this).html(text.replace('replace me', 'I love this text')); }); 

另外如果你想编辑几个文本创build一个数组:

 var replacetext = { "Text 0": "New Text 0", "Text 1": "New Text 1", "Text 2": "New Text 2", "Text 3": "New Text 3", "Text 4": "New Text 4" }; $.each(replacetext, function(txtorig, txtnew) { var text = $('#parentid').html(); $('#parentid').html(text.replace(txtorig, txtnew)); });