Оглавление

.next(), .nextAll() и .nextUntil()

 Для нахождения элементов, следующих непосредственно за каждым из элементов найденного набора, предназначены три полезных метода: .next(), .nextAll() и .nextUntil().


Метод .next () находит для текущего элемента сестринский элемент, который следует непосредственно за ним. Чтобы выбрать абзац с классом foo, а затем перейти к его ближайшему сестринскому элементу, выполните в консоли приведенную ниже команду.
$("p.foo").next();


Вы получите следующий результат.
____________________________

>>> $("p.foo").next()
[p]
____________________________

 

Методу .next ()можно передать селектор, конкретизирующий тип искомого сестринского элемента.
$("p.foo").next("#bar");

 
Выполнение этой команды приведет к пустому результирующему набору, так как абзац, следующий за абзацем с классом f оо, не снабжен идентификатором bar.

____________________________

>>> $("p.foo").next("#bar")
[]

____________________________

 

Поскольку метод .next() возвращает лишь ближайший сестринский элемент, предусмотрен аналогичный метод .nextAll(), который возвращает для элемента набора все его сестринские элементы, расположенные после него, а не только соседний. Чтобы выбрать все абзацы, расположенные после абзаца с классом foo, выполните следующую команду:
$(".foo").nextAll("p");

 

Результат будет таким.
________________________________

>>> $(".foo").nextAll("p")
[p, p#bar]

________________________________

 

Примечание. Как и в случае метода. next (), задание селектора при вызове метода. nextAl l () не является обязательным


Третьим из доступных методов выбора сестринских элементов является метод . nextUntil (). Как ясно из самого названия, этот метод возвращает для данного элемента набора все расположенные после него сестринские элементы до тех пор, пока не встретится элемент, соответствующий селектору. Важно отметить, что сам элемент, соответствующий селектору, не будет включен в результирующий набор.

 
Чтобы в этом убедиться, выберите абзац с классом foo и примените метод .nextUntil() с селектором "#bar".
$(".foo").nextUntil("#bar");
В результирующий набор войдет только один абзац, тогда как абзац с идентификатором bar не будет включен в него.
________________________________

>>> $(".foo").nextUntil("#bar")
[p  ]

________________________________

 
Если все же требуется включить в результирующий набор абзац с идентификатором bar, то тогда в качестве элемента, ограничивающего диапазон поиска, необходимо указать элемент, непосредственно следующий за абзацем с идентификатором bar, в данном случае — элемент form. Вновь примените селектор, используя приведенный ниже обновленный код.

$(".foo").Until("form");

 
Теперь будут возвращены оба абзаца.
________________________________

>>> $(".foo").Until("form")
[p, p#bar]

 

________________________________

Примечание. Как и в случае метода. next (), задание селектора при вызове метода. nextAl l () не является
обязательным.___________________________________________________________________________
Третьим из доступных методов выбора сестринских элементов является метод . nextUntil (). Как ясно из самого названия, этот метод возвращает для данного элемента набора все расположенные после него сестринские элементы до тех пор, пока не встретится элемент, соответствующий селектору. Важно отметить, что сам элемент, соответствующий селектору, не будет включен в результирующий набор.
Чтобы в этом убедиться, выберите абзац с классом foo и примените метод .nextUntil () с селектором "#bar".
$ (".foo").nextUntil("#bar");
В результирующий набор войдет только один абзац, тогда как абзац с идентификатором bar не будет включен в него.
>»$(".foo") .nextUntil ("#bar") ;
[   P   1
Если все же требуется включить в результирующий набор абзац с идентификатором bar, то тогда в качестве элемента, ограничивающего диапазон поиска, необходимо указать элемент, непосредственно следующий за абзацем с идентификатором bar, в данном случае — элемент form. Вновь примените селектор, используя приведенный ниже обновленный код.
Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.
Отправитель Нити