JQuery, если div содержит этот текст, замените ту часть текста
Как и в названии, я хочу заменить определенную часть текста в div.
Структура выглядит следующим образом:
<div class="text_div">
This div contains some text.
</div>
И я хочу заменить только "содержит", например, "привет всем".
Я не могу найти решение для этого.
Ответы
Ответ 1
Вы можете использовать метод text
и передать функцию, которая возвращает измененный текст, используя собственный String.prototype.replace
для выполнения замены:
$(".text_div").text(function () {
return $(this).text().replace("contains", "hello everyone");
});
Здесь рабочий пример.
Ответ 2
var d = $('.text_div');
d.text(d.text().trim().replace(/contains/i, "hello everyone"));
Ответ 3
Если возможно, вы можете обернуть слово (и), которое вы хотите заменить в теге span, например:
<div class="text_div">
This div <span>contains</span> some text.
</div>
Затем вы можете легко изменить его содержимое с помощью jQuery:
$('.text_div > span').text('hello everyone');
Если вы не можете обернуть его в тег span, вы можете использовать регулярные выражения.
Ответ 4
Вы можете использовать содержит селектор для поиска элементов, содержащих определенный текст
var elem = $('div.text_div:contains("This div contains some text")');
elem.text(elem.text().replace("contains", "Hello everyone"));