虽然对于单个元素我们可以使用jQuery('#elem')。get(0),有没有办法让我们可以获得多个选择的节点元素:
喜欢:jQuery('。elements')。getAll(0)?
我正在寻找一个解决方案,如果存在,没有循环迭代。
答案 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.