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

JQuery, если div содержит этот текст, замените ту часть текста

Как и в названии, я хочу заменить определенную часть текста в div.

Структура выглядит следующим образом:

<div class="text_div">
    This div contains some text.
</div>

И я хочу заменить только "содержит", например, "привет всем". Я не могу найти решение для этого.

4b9b3361

Ответ 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"));