如果div包含单词“example”,则addClass将none显示给另一个div

时间:2012-06-28 10:42:58

标签: jquery if-statement contains

如果某个特定字词在另一个div内,我试图隐藏div

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

但它似乎不起作用。有什么想法吗?

2 个答案:

答案 0 :(得分:6)

您需要检查返回的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();
}

答案 1 :(得分:4)

试试这个,这可以显示 how it works

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

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

}