<div id="id1">
<p>
apple
</p>
<p>
ball
</p>
<p>
cat
</p>
<p>
dogsss
</p>
</div>
Как мне изменить dogsss
на dollsss
с помощью jquery
?
<div id="id1">
<p>
apple
</p>
<p>
ball
</p>
<p>
cat
</p>
<p>
dogsss
</p>
</div>
Как мне изменить dogsss
на dollsss
с помощью jquery
?
Вы можете попробовать
$('#id1 p').each(function() {
var text = $(this).text();
$(this).text(text.replace('dog', 'doll'));
});
Вместо этого вы можете использовать .html()
и/или дополнительно усовершенствовать вызов .replace()
в соответствии с вашими потребностями
$("#id1 p:contains('dog')").html("doll");
который сделает это.
попробуйте это,
$('#id1').html($('#id1').html().replace('dogsss','dollsss'));
$('p:contains("dogsss")').text('dollsss');
Более конкретно:
$("#id1 p:contains('dog')").text($("#id1 p:contains('dog')").text().replace('dog', 'doll'));
Предупреждение 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
Я искал что-то подобное, и я использую код, который опубликовал 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));
});
Лучше ответить Joanna Avalos. Просто обратите внимание, что я заменил .text()
на .html()
, в противном случае некоторые из элементов html внутри будут уничтожены.
Как изменить несколько "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'));
});
Изменить идентификатор или класс для каждого тега
$("#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");