Spec-Zone.ru › jQuery

:has() Селектор

Селектор :has

Описание: Выбирает элементы, содержащие по крайней мере один элемент, соответствующий заданному селектору.

  • версия добавлена: 1.1.4jQuery( ":has(selector)" )

    selector: Любой селектор.

Выражение $( "div:has(p)" ) соответствует <div>, если <p> существует где-либо среди его потомков, а не только как непосредственный потомок.

Дополнительные заметки:

  • Поскольку :has() является расширением jQuery и не входит в спецификацию CSS, запросы, использующие :has(), не могут воспользоваться улучшением производительности, предоставляемым родным методом DOM querySelectorAll(). Для лучшей производительности в современных браузерах используйте $( "your-pure-css-selector" ).has( selector/DOMElement ) вместо него.

Пример:

Добавляет класс "test" ко всем div, которые содержат абзац внутри.

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>has demo</title>
  <style>
  .test {
    border: 3px inset red;
  }
  </style>
  <script src="https://code.jquery.com/jquery-3.7.0.js"></script>
</head>
<body>
 
<div><p>Hello in a paragraph</p></div>
<div>Hello again! (with no paragraph)</div>
 
<script>
$( "div:has(p)" ).addClass( "test" );
</script>
 
</body>
</html>

Демо:

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

Spec-Zone.ru

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