jQuery next方法替代

问题描述:

jquery的下一个方法是寻找下一个兄弟。但我需要不是兄弟姐妹的下一个元素。我只需要迭代选择器中的下一个元素。 例如:jQuery next方法替代

$('.wrapper .parent div').next(); // in here next method looks first element 
// in selector and get next sibling of it. 

我想要的是匹配下一个元素在选择器中。简单地调用每个方法将提供给我,但我不需要迭代整个收集。

切片方法将帮助我迭代manualy通过控制我,但提供切片参数使它更难使用。

什么可以是另一种解决方案。

使用jQuery eq方法并将索引传递给它。它将匹配元素的集合减少到指定索引处的元素。

$('.wrapper .parent div').eq(1);//Whatever index you need pass into it. It is 0 based. 

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

+0

@AnyOne - 这对你有帮助吗? – ShankarSangoli

也许试试$(".wrapper .parent div:nth-child(2)")取而代之?

$(".wrapper .parent div:nth-child(" + i++ + ")")为下一组功能,其中i是第一个你想要得到的。

JQuery nth-child selector documentation

+0

我更新了问题。我不是在寻找第二个。我想迭代manualy。 – AnyOne

+0

OP不查找子元素。 – ShankarSangoli

如果你有一个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 
}