如何使用jquery获取多个节点

时间:2012-11-29 08:38:25

标签: jquery

虽然对于单个元素我们可以使用jQuery('#elem')。get(0),有没有办法让我们可以获得多个选择的节点元素:

喜欢:jQuery('。elements')。getAll(0)?

我正在寻找一个解决方案,如果存在,没有循环迭代。

2 个答案:

答案 0 :(得分:3)

没有一种方法可以做到这一点。您唯一的另一个选择是通过不将参数传递给.get()来获取匹配节点的所有

var all = jQuery('.elements').get();

但是,在调用.get()来实现相同的操作之前,您可以将匹配的设置减少到所需的元素。您可以使用.slice()在两个指标之间返回匹配元素的子集:

var all = jQuery('.elements').slice(1, 3).get();

除此之外,您最好的选择可能是使用某种形式的迭代(例如.filter())来返回特定标记处的元素,并再次使用.get()

var all = jQuery('.elements').filter(function (i) {
    return i === 2 || i === 5 || i === 9;
}).get();

答案 1 :(得分:1)

只需使用选择......

单班

$('.elements').get() // It will return all the DOM elements have class="elements <other_classes>"

适用于多个班级

$('.elements, .nav, .address').get() // It will get all the DOM elements has either of these classes.