jQuery навигация - метод has()
Пример
Проверка наличия одного элемента в другом:
$("ul").append("<li>" + ($("ul").has("li").length ? "Yes" : "No") + "</li>"); $("ul").has("li").addClass("full");
Определение и использование
Метод has() сокращает набор элементов, соответствующих элементам, обладающим потомками, соответствующими заданному селектору или элементу DOM.
Синтаксис
.has(selector)
Параметр | Описание |
---|---|
selector | Строковое значение, содержащее выражение селектора, соответствующего элементам, которые необходимо найти. |
Подробное описание
Если передан объект jQuery, представляющий набор элементов DOM, метод .has() создает новый объект jQuery, состоящий из подмножества элементов, являющихся потомками элементов, соответствующих заданному селектору.
Подумайте о следующей странице с вложенными списками:
<ul> <li>Элемент списка 1</li> <li>Элемент списка 2</li> <ul> <li>Элемент списка 2-a</li> <li>Элемент списка 2-b</li> </ul> </li> <li>Элемент списка 3</li> <li>Элемент списка 4</li> </ul>
Мы можем применить этот метод к набору элементов списка, например:
$('li').has('ul').css('background-color', 'red');
Результат этого вызова заключается в том, что фоновый цвет элемента 2 установлен в красный, так как этот элемент является единственным из потомков, обладающим <ul> в <li>.