繁体   English   中英

jQuery next方法替代

[英]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.

http://api.jquery.com/eq/

也许尝试$(".wrapper .parent div:nth-child(2)")代替?

$(".wrapper .parent div:nth-child(" + i++ + ")")获得下一个内置功能,其中i是您要获取的第一个功能。

jQuery nth-child选择器文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM