: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>
演示结果