.parentsUntil( [selector ] [, filter ] )Возвращает: jQuery
Описание: Получает предков каждого элемента в текущем наборе сопоставленных элементов, до, но не включая элемент, соответствующий селектору, узлу DOM или объекту jQuery.
-
версия добавлена: 1.4.parentsUntil( [selector ] [, filter ] )
-
версия добавлена: 1.6.parentsUntil( [element ] [, filter ] )
- elementУзел DOM или объект jQuery, указывающий, где следует прекратить сопоставление элементов-предков.
- filterТип: СелекторСтрока, содержащая выражение селектора для сопоставления элементов.
-
При заданном выражении селектора, представляющем набор элементов DOM, метод проходит по предкам этих элементов до тех пор, пока не достигнет элемента, соответствующего селектору, переданному в аргументе метода. Результирующий объект jQuery содержит все предки до, но не включая, тот, который соответствует селектору.
Если селектор не соответствует или не предоставлен, все предки будут выбраны; в этих случаях он выбирает те же элементы, что и метод .parents() при отсутствии селектора.
Начиная с jQuery 1.6, в качестве первого аргумента .parentsUntil() можно использовать узел DOM или объект jQuery вместо селектора.
Метод необязательно принимает выражение селектора в качестве второго аргумента. Если этот аргумент указан, элементы будут отфильтрованы, проверяя соответствие этому селектору.
Пример:
Найдите предков <li class="item-a"> до <ul class="level-1"> и задайте им красный цвет фона. Также найдите предков <li class="item-2">, имеющих класс "yes", до <ul class="level-1">, и задайте им зеленую границу.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>parentsUntil demo</title>
<script src="https://code.jquery.com/jquery-3.7.0.js"></script>
</head>
<body>
<ul class="level-1 yes">
<li class="item-i">I</li>
<li class="item-ii">II
<ul class="level-2 yes">
<li class="item-a">A</li>
<li class="item-b">B
<ul class="level-3">
<li class="item-1">1</li>
<li class="item-2">2</li>
<li class="item-3">3</li>
</ul>
</li>
<li class="item-c">C</li>
</ul>
</li>
<li class="item-iii">III</li>
</ul>
<script>
$( "li.item-a" )
.parentsUntil( ".level-1" )
.css( "background-color", "red" );
$( "li.item-2" )
.parentsUntil( $( "ul.level-1" ), ".yes" )
.css( "border", "3px solid green" );
</script>
</body>
</html>