2011-09-01 4 views
2

следующий метод jquery ищет следующего брата. Но мне нужен следующий элемент, который не является родным братом. Мне просто нужно перебирать следующие элементы в селекторе. Например:jQuery следующий метод альтернативный

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

Что я хочу в следующем соответствует элемент в селекторе. Просто вызов каждого метода предоставит его мне, но мне не нужно итерировать всю коллекцию.

метод среза поможет мне перебирать вручную, контролируя меня, но предоставление параметров среза затрудняет его использование.

Что может быть другим решением.

ответ

1

Используйте метод 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

0

Возможно, вместо этого попробовать $(".wrapper .parent div:nth-child(2)")?

Или $(".wrapper .parent div:nth-child(" + i++ + ")") для следующих функций, в которых i является первым, который вы хотите получить.

JQuery nth-child selector documentation.

+0

Я обновил вопрос. Я не ищу второго. Я хочу, чтобы итерация была ручной. – AnyOne

+0

OP не ищет дочерние элементы. – ShankarSangoli

3

Если у вас есть селектор 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 
} 
Смежные вопросы