Spec-Zone.ru › jQuery

.has()

.has( selector )Возвращает: jQuery

Описание: Уменьшает набор сопоставленных элементов до тех, у которых есть потомок, соответствующий селектору или элементу DOM.

  • версия добавлена: 1.4.has( selector )

    • selector
      Тип: Строка
      Строка, содержащая выражение селектора для сопоставления элементов.
  • версия добавлена: 1.4.has( contained )

    • contained
      Тип: Элемент
      Элемент DOM для сопоставления элементов.

Принимая объект jQuery, представляющий набор элементов DOM, метод .has() создаёт новый объект jQuery из подмножества соответствующих элементов. Переданный селектор проверяется относительно потомков соответствующих элементов; элемент будет включён в результат, если любой из его потомков соответствует селектору.

Рассмотрим страницу со вложенным списком следующим образом:

 <ul>
  <li>list item 1</li>
  <li>list item 2
    <ul>
      <li>list item 2-a</li>
      <li>list item 2-b</li>
    </ul>
  </li>
  <li>list item 3</li>
  <li>list item 4</li>
</ul>

Мы можем применить этот метод к набору элементов списка следующим образом:

$( "li" ).has( "ul" ).css( "background-color", "red" );

Результат этого вызова — красный фон для элемента 2, так как это единственный <li> элемент, у которого есть <ul> среди его потомков.

Пример:

Проверить, находится ли один элемент внутри другого.

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>has demo</title>
  <style>
  .full {
    border: 1px solid red;
  }
  </style>
  <script src="https://code.jquery.com/jquery-3.7.0.js"></script>
</head>
<body>
 
<ul><li>Does the UL contain an LI?</li></ul>
 
<script>
$( "ul" ).append( "<li>" +
  ( $( "ul" ).has( "li" ).length ? "Yes" : "No" ) +
  "</li>" );
$( "ul" ).has( "li" ).addClass( "full" );
</script>
 
</body>
</html>

Демо:

© The jQuery Foundation and other contributors
Licensed under the MIT License.
https://api.jquery.com/has

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API