Jquery: Rechercher du texte et remplacer

 

Comment changer les dogsss en dollsss utilisant jquery ?

Tu peux essayer

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

http://jsfiddle.net/2EvGF/

Vous pouvez utiliser à la place .html() et / ou perfectionner l’appel .replace() fonction de vos besoins.

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

ça va le faire.

http://jsfiddle.net/pgDFQ/

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

essaye ça,

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

échantillon de travail

Plus spécifique:

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

Pour tester la méthode find et replace.Vous pouvez également utiliser un moyen simple.

 var ssortingng ='my ssortingng' var new_ssortingng = ssortingng.replace('ssortingng','new ssortingng'); alert(ssortingng); alert(new_ssortingng); 

Joanna Avalos réponse est mieux, il suffit de noter que j’ai remplacé .text() à .html() , sinon, certains des éléments HTML à l’intérieur de celui-ci seront détruits.

Je cherchais quelque chose de similaire et j’utilise le code que Doug Owings a posté, mais mon texte comportait des balises br et le code l’effaçait.

Donc, j’utilise ceci: (Notez juste que j’ai remplacé .text () par .html ())

Texte:

 < 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')); }); 

Aussi, si vous voulez éditer plusieurs textes, créez un tableau:

 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)); });