jQuery操作dom节点empty()方法

empty()方法清空元素内容但保留元素本身,用于动态更新页面前的清理。示例中$('#container').empty()将移除内部所有子节点,HTML由包含p和span变为仅剩div容器。与remove()不同,empty()不删除元素自身,适合保留结构、重置内容的场景,如清空列表、表格或AJAX请求前清理展示区域,避免破坏事件绑定,推荐用于需保留父容器的场合。

jQuery 的 empty() 方法用于清空指定元素内的所有子节点和内容,但不会移除该元素本身。这个方法常用于动态更新页面内容前的清理操作。

基本语法

$(selector).empty();

调用该方法后,匹配元素内部的所有 HTML 内容都会被删除,包括文本、子标签、表单元素等,原元素仍然保留在 DOM 中,只是变成一个“空壳”。

使用示例

假设有一个 div 元素:


  

这是一段文字


  其他内容

使用 empty() 清空内容:

$('#container').empty();

执行后,HTML 变为:

注意:#container 元素还在,只是里面的内容被全部清除。

与 remove() 的区别

  • empty():只清空元素内部内容,保留元素本身
  • remove():将元素及其内容从 DOM 中完全删除

如果只是想刷新内容,推荐使用 empty(),避免破坏事件绑定或数据状态(除非你明确要删除整个元素)。

实际应用场景

  • 清空列表或表格内容重新加载
  • 重置表单容器中的动态字段
  • 在 AJAX 请求返回新数据前清理旧数据展示区域

基本上就这些。empty() 方法简单直接,适合需要保留父容器结构只清除内容的场景。不复杂但很实用。