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>.