Поиск почти всех предков

.parentsUntil()

Осуществляет поиск всех предков у выбранных элементов (то есть, не только прямых родителей, но и прародителей, прапрародителей и так далее, до начало дерева DOM), вплоть до определенного элемента. Метод имеет один вариант использования:

.parentsUntil([selector]):jQuery1.4

Ищет всех предков у выбранных элементов (то есть, не только прямых родителей, но и прародителей, прапрародителей и так далее, до начало дерева DOM), прекращая поиск перед элементами, соответствующими заданному селектору selector.

Примеры использования:

$("#block").parentsUntil(".lBlock") вернет всех предков элемента, имеющего идентификатор block, вплоть до элемента с классом lBlock.

В действии

Зальем элемент с классом item-b зеленым цветом, а всем его предкам, до элемента с классом level-1, добавим красную рамку:

~lt~!DOCTYPE html~gt~
~lt~html~gt~
~lt~head~gt~
  ~lt~script src="//code.jquery.com/jquery-latest.js"~gt~~lt~/script~gt~
  ~lt~style~gt~
    ul{list-style-type:none; padding-left:20px}
    li{padding:2px}
  ~lt~/style~gt~
~lt~/head~gt~
~lt~body~gt~
  ~lt~ul id="one" class="level-1"~gt~
    ~lt~li class="item-i"~gt~I~lt~/li~gt~
    ~lt~li id="ii" class="item-ii"~gt~II
      ~lt~ul class="level-2"~gt~
        ~lt~li class="item-a"~gt~A~lt~/li~gt~
        ~lt~li class="item-b"~gt~B
          ~lt~ul class="level-3"~gt~
            ~lt~li class="item-1"~gt~1~lt~/li~gt~
            ~lt~li class="item-2"~gt~2~lt~/li~gt~
            ~lt~li class="item-3"~gt~3~lt~/li~gt~
          ~lt~/ul~gt~
        ~lt~/li~gt~
        ~lt~li class="item-c"~gt~C~lt~/li~gt~
      ~lt~/ul~gt~
    ~lt~/li~gt~
    ~lt~li class="item-iii"~gt~III~lt~/li~gt~
  ~lt~/ul~gt~
~lt~script~gt~
    $(".item-b").css("background-color", "green").parentsUntil(".level-1").css("border", "1px solid red");
~lt~/script~gt~
~lt~/body~gt~
~lt~/html~gt~

Ссылки

Поисковые ключи:
  • родительские элементы
  • предки
  • parentsUntil()
  • .parentsUntil