当element有多个类时,jquery按特定类查找元素

时间:2011-09-28 18:44:39

标签: jquery class elements

所以我正在研究后端团队在构建中没有经过深思熟虑的事情。这给我留下了一个充满div的文件。

我正在做的是从我需要点击的元素回滚,获取父容器然后在父级中找到一个元素class="alert-box warn"class="alert-box dead"等...基本上,我正在尝试在每个元素上使用多个类选择器。当我试图找到alert-box时,它似乎没有正常工作。我假设因为warn,已经死了,“很好,等等......

如何才能找到alert-box*或等同于通配符概念?

5 个答案:

答案 0 :(得分:58)

您可以组合这样的选择器

$(".alert-box.warn, .alert-box.dead");

或者如果您想要通配符,请使用attribute-contains selector

$("[class*='alert-box']");

注意:最好在使用上面的选择器时知道元素类型或标记。了解标签可以提高选择器效率。

$("div.alert-box.warn, div.alert-box.dead");
$("div[class*='alert-box']");

答案 1 :(得分:8)

您可以选择具有多个类的元素,如下所示:

$("element.firstClass.anotherClass");

只需将下一个类链接到第一个类,不带一个空格(空格意味着“子节点”)。

答案 2 :(得分:5)

var divs = $("div[class*='alert-box']");

答案 3 :(得分:3)

一个元素可以有任意数量的classNames,但是它只能有一个class属性;只有第一个将由jQuery读取。

使用您发布的代码,$(".alert-box.warn")将有效,但$(".alert-box.dead")则不会。

答案 4 :(得分:-1)

您正在寻找http://api.jquery.com/hasClass/

<div id="mydiv" class="foo bar"></div>

$('#mydiv').hasClass('foo') //returns ture