使用jQuery访问具有多个类的元素

时间:2012-10-03 10:06:39

标签: jquery class jquery-selectors

有时我们已经定义了一些具有多个类的元素,如: -

<div class="a b c"> Hi this is div with multiple classes </div>

现在,我想使用jQuery选择器访问这个div所以我在尝试: -

var cls = "a b c"; 
$("." + cls); // Returns []

有道理,因为它实际上试图找到所有带有classname的元素为“a”,然后尝试在元素内部进一步找到子元素“b”和“c”,类“a”在语义上是错误的。所以我找到了一种方法来找到这样的元素: -

var a = "mk-search-contents boundary-top";
var all = $("div"); // Assuming I know the tagname if element i am interested in

for (var i=0; i<all.length; i++) {
    if (all.get(i).className == a) { console.log(all.get(i)); break; }
}

它给了我正确答案,但我没理解,为什么这样做以及如何使用jQuery选择这样的元素。

2 个答案:

答案 0 :(得分:4)

只需使用此选择器:

$('.a.b.c')

className为您提供以空格分隔的所有类名(“a b c”)。但是对于css和jquery选择器,你不能使用“a b c”。

你做的是

$('.a b c')

表示“a类元素中b元素中的c元素”。

答案 1 :(得分:0)

尝试使用以下选择器匹配所有三个类

$('.a.b.c')

如果你想匹配三个中的任何一个

$('.a,.b,.c')