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')); });
您可以使用.html()
和/或根据您的需要进一步复杂的.replace()
调用
$('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)); });