:parent 选择器
分类:选择器 > 内容筛选选择器 | 选择器 > jQuery扩展选择器
parent selector
描述:选择所有的至少有一个子节点的元素(子节点包括元素或者文本)。
加入于: 1.0
jQuery( ":parent" )这是:empty的逆转。
一个需要注意的重点是::parent(以及:empty)中的子元素包括文本节点。
W3C建议<p>元素至少有一个子元素,哪怕子元素仅仅是文本(参见http://www.w3.org/TR/html401/struct/text.html#edef-P)。另一方面,有些别的元素根据定义是空的(没有子元素),比如说:<input>、<img>、<br>以及<hr>。
要想获得已有的jQuery集合的父元素或者祖先元素,参见.parent()和.parents()方法。
其它说明
- 因为
:parent是一个jQuery扩展,并不是CSS规范文档的一部分,使用:parent查询,不能充分利用原生DOM的querySelectorAll()方法来提高性能。要想在使用:parent选择元素时获得最佳性能,请先使用一个纯CSS选择器选择元素,然后使用.filter(":parent")作筛选。
示例
查找所有的<td>以及它们的子元素,包括文本。
<!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-1.10.2.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>
演示结果