.empty()

.empty() 返回:jQuery

描述从DOM中移除所有节点的子节点。

  • version added: 1.0.empty()

这个方法不仅移除子元素(和其他下级元素),同样移除元素里的文本。因为,根据说明,元素里德任何文本字符串都被看做是该元素的子节点。请看下面的HTML:

<div class="container">
  <div class="hello">Hello</div>
  <div class="goodbye">Goodbye</div>
</div>

我们可以移除里面的任何元素

$('.hello').empty();

结果文本 Hello被删除:

<div class="container">
  <div class="hello"></div>
  <div class="goodbye">Goodbye</div>
</div>

如果 <div class="hello">里面包含嵌套元素,他们也会被移走。

为了避免内存泄漏,jQuery先移除子元素的数据和事件处理函数,然后移除子元素。

Example:

移除段落中的所有子节点包括文本

<!DOCTYPE html>
<html>
<head>
  <style>
  p { background:yellow; }
</style>
  <script src="http://code.jquery.com/jquery-latest.min.js"></script>
</head>
<body>
  <p>
  Hello, <span>Person</span> <a href="javascript:;">and person</a>
</p>

<button>Call empty() on above paragraph</button>
<script>
  $("button").click(function () {
    $("p").empty();
  });
</script>

</body>
</html>

Demo:

jQuery 1.6 API 中文版脚本之家整理、修订 (2011年6月)