jQuery的,如果div包含这样的文字,替换文本的一部分jQuery的,如果div包含这样的文字,

2019-06-14 14:19发布

就像标题所说,我要替换一个div文本的特定部分。

该结构是这样的:

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

我想用“大家”只更换“载”,例如。 我无法找到一个解决方案。

Answer 1:

您可以使用text方法并传递返回修改后的文本的功能,使用本地String.prototype.replace方法进行更换:

​$(".text_div").text(function () {
    return $(this).text().replace("contains", "hello everyone"); 
});​​​​​

这里有一个工作的例子 。



Answer 2:

var d = $('.text_div');
d.text(d.text().trim().replace(/contains/i, "hello everyone"));


Answer 3:

如果可能的话,你可以换字()你想在一个span标签来代替,就像这样:

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

然后,您可以很容易地改变其内容使用jQuery:

$('.text_div > span').text('hello everyone');

如果你不能在一个span标签包装它,你可以使用正则表达式。



Answer 4:

您可以使用包含选择搜索包含特定文本元素

var elem = $('div.text_div:contains("This div contains some text")')​;
elem.text(elem.text().replace("contains", "Hello everyone"));



Answer 5:

很简单,只需使用此代码,它将保留在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/



文章来源: jQuery if div contains this text, replace that part of the text