селектор родителя
Описание: Выбирает все элементы, у которых есть хотя бы один дочерний узел (либо элемент, либо текст).
версия добавлена: 1.0jQuery( ":parent" )
Это обратное к :empty.
Важно отметить, что дочерние узлы включают текстовые узлы при использовании :parent (и :empty).
W3C рекомендует, чтобы элемент <p> имел хотя бы один дочерний узел, даже если это просто текст (см. https://www.w3.org/TR/html401/struct/text.html#edef-P). Некоторые другие элементы, с другой стороны, по определению пустые (т.е. не имеют дочерних элементов): <input>, <img>, <br>, и <hr>, например.
Чтобы получить родителей или предков существующего набора jQuery, см. методы .parent() и .parents().
Дополнительные заметки:
- Поскольку
:parentявляется расширением jQuery, а не частью спецификации CSS, запросы, использующие:parent, не могут воспользоваться преимуществами повышения производительности, предоставляемого методом родного DOMquerySelectorAll(). Для достижения наилучшей производительности при использовании:parentдля выбора элементов, сначала выберите элементы с помощью чистого селектора CSS, а затем используйте.filter(":parent").
Пример:
Находит все tds с дочерними элементами, включая текст.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>parent demo</title>
<style>
td {
width: 40px;
background: green;
}
</style>
<script src="https://code.jquery.com/jquery-3.7.0.js"></script>
</head>
<body>
<table border="1">
<tr><td>Value 1</td><td></td></tr>
<tr><td>Value 2</td><td></td></tr>
</table>
<script>
$( "td:parent" ).fadeTo( 1500, 0.3 );
</script>
</body>
</html>