jQuery если div содержит этот текст, замените эту часть текста
Как говорится в заголовке, я хочу заменить определенную часть текста в div.
структура выглядит так:
<div class="text_div">
This div contains some text.
</div>
и я хочу заменить только " содержит "на" Привет всем", например. Я не могу найти решение для этого.
5 ответов:
можно использовать
text
метод и передать функцию, которая возвращает измененный текст, используя роднойString.prototype.replace
метод для выполнения замены:$(".text_div").text(function () { return $(this).text().replace("contains", "hello everyone"); });
здесь пример.
Если это возможно, вы можете обернуть слово(ы), которое вы хотите заменить в теге span, например:
<div class="text_div"> This div <span>contains</span> some text. </div>
затем вы можете легко изменить его содержимое с помощью jQuery:
$('.text_div > span').text('hello everyone');
Если вы не можете обернуть его в тег span, вы можете использовать регулярные выражения.
можно использовать содержит селектор для поиска элементов, содержащих определенный текст
var elem = $('div.text_div:contains("This div contains some text")'); elem.text(elem.text().replace("contains", "Hello everyone"));
очень просто просто используйте этот код, он сохранит HTML, удаляя только развернутый текст:
jQuery(function($){ // Replace 'td' with your html tag $("td").html(function() { // Replace 'ok' with string you want to change, you can delete 'hello everyone' to remove the text return $(this).html().replace("ok", "hello everyone"); }); });
вот полный пример: https://blog.hfarazm.com/remove-unwrapped-text-jquery/