jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在jquery中使用remove()删除任何单词大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
您好朋友我想创建一个删除内容中任何特定单词的功能

我有这个代码

jQuery的

<script>
$(document).ready(function(){
    $('#cl').click(function(){
        $('div').remove(':contains("kamal")');
    });


})
</script>

HTML

<div>asdjh alsdhj kamal ljkahsdhasd lakshd kamal</div>
<div ><a href="#" id="cl">click</a></div>
<div>asdjh alsdhj  ljkahsdhasd lakshd </div>

但它删除整个div包含kamal我想从我的内容删除这个单词而不是整个div你也可以看到我的代码here的在线演示

请帮我

提前致谢 :)

解决方法

在元素上执行读 – 修改 – 写的正确方法是使用jQuery的“函数参数”方法

$('div:contains(kamal)').filter(function() {
    return $(this).children().length === 0;  // exclude divs with children
}).text(function(index,text) {
    return text.replace(/kamal/g,'');
});

这避免了两次调用.text(),并简化了代码逻辑.

请注意,如果您有嵌套的div标签,可能会得到不寻常的结果,因为:contains()伪选择器会虑所有后代,而不仅仅是直接子项,而是自上而下而不是自下而上.这就是为什么上述解决方包括初始.filter调用,以确保只虑DOM树中的叶节点.

另一种方法是使用.contents并直接查看DOM文本节点:

var re = /kamal/gi;

$('div').contents().each(function() {
    if (this.nodeType === 3 && this.nodeValue.match(rE)) {
        this.nodeValue = this.nodeValue.replace(re,'');
    }
})​

http://jsfiddle.net/alnitak/eVUd3/

编辑第二个示例更新为使用String.match(正则表达式)而不是regex.test(字符串).

大佬总结

以上是大佬教程为你收集整理的在jquery中使用remove()删除任何单词全部内容,希望文章能够帮你解决在jquery中使用remove()删除任何单词所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。