如果 div 中包含单词 "example",则将 display none 类添加到另一个 div。

3
我正在尝试隐藏一个
,如果另一个
中包含特定字词。
if (jQuery("div.contactUs:contains('contact')")) {
jQuery(".hideThis").css("display","none");
}

但是似乎不起作用。有什么想法吗?
2个回答

7
您需要检查返回的jQuery对象的长度:

您需要检查返回的jQuery对象的length

if (jQuery("div.contactUs:contains('contact')").length) {
    jQuery(".hideThis").css("display","none");
}

这是因为jQuery会返回一个对象,即使没有找到匹配的元素,这个对象也永远不会被解释为false
另外要注意,你可以使用hide代替css,这样可以使你的代码更加简短。
if (jQuery("div.contactUs:contains('contact')").length) {
    jQuery(".hideThis").hide();
}

非常感谢James,它完美地运行了。感谢您的解释。现在我知道了... :) - mlclm

4

试试这个,这可以展示它是如何工作的

if (jQuery("div.contactUs").text().indexOf('contact') != -1) {

jQuery(".hideThis").css("display","none");

}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接