虽然对于单个元素,我们可以使用 jQuery('#elem').get(0),但有没有一种方法可以获取节点元素以进行多选:
比如:jQuery('.elements').getAll(0) ?
我正在寻找一个没有循环迭代的解决方案(如果存在)。
虽然对于单个元素,我们可以使用 jQuery('#elem').get(0),但有没有一种方法可以获取节点元素以进行多选:
比如:jQuery('.elements').getAll(0) ?
我正在寻找一个没有循环迭代的解决方案(如果存在)。
没有单一的方法可以做到这一点。您唯一的其他选择是通过不将参数传递给来获取所有.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();
只需使用选择...
单班
$('.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.