Jquery: найти текст и заменить - PullRequest
42 голосов
/ 16 ноября 2011
<div id="id1">
 <p>
   apple
 </p>
 <p>
   ball
 </p>
 <p>
   cat
 </p>
 <p>
   dogsss
 </p>
</div>

Как изменить dogsss на dollsss, используя jquery?

Ответы [ 10 ]

84 голосов
/ 16 ноября 2011

Вы можете попробовать

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

http://jsfiddle.net/2EvGF/

Вы можете использовать вместо .html() и / или дополнительно усовершенствовать вызов .replace() в соответствии с вашими потребностями

27 голосов
/ 16 ноября 2011
$("#id1 p:contains('dog')").html("doll");

это сделает.

http://jsfiddle.net/pgDFQ/

9 голосов
/ 16 ноября 2011

попробуйте,

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

рабочий образец

8 голосов
/ 16 ноября 2011
$('p:contains("dogsss")').text('dollsss');
4 голосов
/ 30 июля 2016

Для проверки найти и заменить метод. Вы также можете использовать простой способ.

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

alert(string);
alert(new_string);
4 голосов
/ 25 сентября 2014

Более конкретно:

$("#id1 p:contains('dog')").text($("#id1 p:contains('dog')").text().replace('dog', 'doll'));
1 голос
/ 27 мая 2016

Я искал что-то похожее, и я использую код, который разместил Дуг Оуингс, но в моем тексте было несколько тегов br , и код стирал его.

Поэтому я использую это: (Просто обратите внимание, что я заменил .text () на .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')); 

});

Также, если вы хотите редактировать несколько текстов, создайте массив:

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)); 
});
0 голосов
/ 14 мая 2019

Изменение по идентификатору или классу для каждого тега

$("#id <tag>:contains('Text want to replaced')").html("Text Want to replaced with");


$(".className <tag>:contains('Text want to replaced')").html("Text Want to replaced with");
0 голосов
/ 05 марта 2019

Как изменить несколько "dogsss" на "dollsss":

$('#id1 p').each(function() {
var text = $(this).text();
// Use global flag i.e. g in the regex to replace all occurrences
$(this).text(text.replace(/dog/g, 'doll'));
});

https://jsfiddle.net/ashjpb9w/

0 голосов
/ 13 сентября 2016

Джоанна Авалос ответ лучше, просто обратите внимание, что я заменил .text() на .html(), в противном случае некоторые html-элементы внутри него будут уничтожены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...