0

示例 HTML:

<div class="elem-1"></div>
<div class="elem-2"></div>
<div class="elem-2"></div>
<div class="elem-3"></div>
<div class="elem-4"></div>
<div class="elem-4"></div>
<div class="elem-4"></div>

需要:如何使用 jQuery 选择器选择具有“elem-2”和“elem-4”的 div?(多个元素具有相同的类)

4

4 回答 4

2

您可以使用,来分隔不同的选择器:

$(".elem-2, .elem-4")
于 2012-08-07T14:43:57.780 回答
1
$('.elem-2, .elem-4').hide() // or any other jquery method

顺便说一句,它不是jQuery选择器,它只是一个CSS选择器,看这篇文章的解释

于 2012-08-07T14:44:36.363 回答
1

selector将获得您想要的价值

http://jsfiddle.net/mMEN5/1

var selector = $();

var list = $('[class]').toArray().reduce(function(p, e){
    p = p || {};
    var classes = $(e).prop('class').split(/\s/);
    $.each(classes, function(i,c){
        p[c] = p[c] || [];
        p[c].push(e);
    });
    return p;
}, {})

for (el in list) if (list[el].length > 1) selector=selector.add(list[el]);
​
于 2012-08-07T15:19:18.563 回答
0

即使您要求使用 css 选择器,我们也可以使用 attributeStartsWith 选择器

我只会提到选择器的用法。您可以使用 to 进行任何内部 DOM 更改

alert($('div[class^="elem-2"], div[class^="elem-4"]').length);

在这里,我使用 .length 只是为了给出正确的计数。使用也可以在上面使用 id 属性。

于 2012-08-08T11:14:58.147 回答