Подтвердить что ты не робот

JQuery: найдите текст и замените

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

Как мне изменить dogsss на dollsss с помощью jquery?

4b9b3361

Ответ 1

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

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

http://jsfiddle.net/2EvGF/

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

Ответ 4

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

Ответ 5

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

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

Ответ 6

Предупреждение string.replace('string', 'new string') не заменяет весь символ. Вы должны использовать regax replace.

Для опыта:  У меня есть жало старая строка1, старая строка2, старая строка3 и я хочу заменить старую  на новый

Тогда я использовал.

    var test = 'old string1, old string2, old string3';

   //***** Wrong method **********
    test = test.replace('old', 'new'); // This  will replaced only first match not all
    Result: new string1, old string2, old string3

  //***** Right method **********
    test = test.replace(/([old])+/g, 'new'); // This  will replaced all match not 
    Result: new string1, new string2, new string3

Ответ 7

Я искал что-то подобное, и я использую код, который опубликовал Doug Owings, но у моего текста были теги 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)); 
});

Ответ 8

Лучше ответить Joanna Avalos. Просто обратите внимание, что я заменил .text() на .html(), в противном случае некоторые из элементов html внутри будут уничтожены.

Ответ 9

Как изменить несколько "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/

Ответ 10

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

$("#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");