![](/img/trans.png)
[英]Alternative method to get data in jQuery than to use parent() and next() repeatedly?
[英]jQuery next method alternative
jQuery的下一个方法正在寻找下一个同级。 但是我需要下一个没有兄弟的元素。 我只需要迭代选择器中的下一个元素。 例如:
$('.wrapper .parent div').next(); // in here next method looks first element
// in selector and get next sibling of it.
我想要的是选择器中的下一个匹配元素。 只需调用每种方法即可将其提供给我,但我不需要迭代整个集合。
slice方法将通过控制我来帮助我手动进行迭代,但是提供slice参数会使它更难使用。
什么是另一种解决方案。
如果您有一个带有多个对象的jQuery选择器,则可以使用多种方法来迭代或获取该列表中的单个元素。
这告诉您集合中有多少个:
$('.wrapper .parent div').length
这将为您获取集合中任何项目的HTML DOM元素(取决于您将什么数字作为参数传递给get()
:
$('.wrapper .parent div').get(0);
这将为您获取集合中任何项目的jQuery对象(取决于您将什么作为参数传递给eq()
:
$('.wrapper .parent div').eq(0);
您可以几种方式遍历整个集合。 您可以使用.each()
:
$('.wrapper .parent div').each(function(index) {
// "this" will be set to the DOM element you are iterating in the collection
});
或者,您可以手动迭代几种不同的方式:
var items = $('.wrapper .parent div');
for (var i = 0; i < items.length; i++) {
// items.get(i) is the DOM element
}
或者,您甚至可以将对象转换为DOM元素数组:
var domArray = $('.wrapper .parent div').makeArray();
for (var i = 0; i < domArray.length; i++) {
// domArray[i] is the DOM element
}
使用jQuery eq
方法并将索引传递给它。 它将匹配元素的集合减少到指定索引处的元素。
$('.wrapper .parent div').eq(1);//Whatever index you need pass into it. It is 0 based.
也许尝试$(".wrapper .parent div:nth-child(2)")
代替?
或$(".wrapper .parent div:nth-child(" + i++ + ")")
获得下一个内置功能,其中i
是您要获取的第一个功能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.