:empty

选择所有不含任何子元素以及文本节点的元素。

这个选择器与 :parent 正好相反。

需要注意的是,:empty (和 :parent) 所涉及的子元素,包括文本节点。

W3C 建议 <p> 元素应当至少包含一个子元素,即使那个子元素仅仅是一个文本节点也好。(参考 http://www.w3.org/TR/html401/struct/text.html#edef-P)。另一方面,某些元素始终没有子元素或子元素始终是空的。比如: <input>, <img>, <br>, 和 <hr>

示例:

查找所有空元素,即不含有子元素或文本元素。

<!DOCTYPE html>
<html>
<head>
<style>

  td { text-align:center; }
  </style>
<script src="jquery.min.js"></script>
</head>
<body>

<table border="1">
    <tr><td>TD #0</td><td></td></tr>
    <tr><td>TD #2</td><td></td></tr>

    <tr><td></td><td>TD#5</td></tr>
  </table>

<script>

$("td:empty").text("Was empty!").css('background', 'rgb(255,220,200)');

</script>
</body>
</html>

演示: