文档章节

jQuery DOM操作之删除节点

指尖跳动的精灵
 指尖跳动的精灵
发布于 2015/03/02 22:04
字数 635
阅读 222
收藏 7

下面示例可能用到如下HTML代码:

<ul>
  <li title="t1">苹果</li>
  <li>香蕉</li>
  <li>橘子</li>
  <li>葡萄</li>
  <li>草莓</li>
</ul>

1、remove()方法:

作用:从DOM中删除所有匹配的元素,传入的参数用于根据jQuery表达式来筛选元素。

例如,删除上图中<ul>节点中的第二个<li>元素节点,jQuery代码如下:

$(document).ready(function() {
   $("ul li:eq(1)").remove();
});

当某个节点用remove()方法删除后,该节点所包含的所有后代节点将同时被删除。这个方法的返回值是一个指向已被删除的节点的引用,因此可以在以后再使用这些元素。下面的jQuery代码说明元素用remove()方法删除后,还是可以继续使用的。

var $li=$("ul li:eq(1)").remove();
$li.appendTo("ul");   //把删除的节点又重新添加到<ul>元素里

可以直接使用appendTo()方法的特性来简化以上代码:

$("ul li:eq(1)").appendTo("ul");//appendTo()方法也可以用来移动元素,移动元素时首先从文档上删除此元素,然后将该元素插入到文档中的指定节点。

另外remove()方法也可以通过传递参数来选择性地删除元素:

$("ul li").remove("li[title='t1']");

2、detach()方法:

detach()和remove()一样,也是从DOM中去掉所有匹配的元素。但需要注意的是,这个方法不会匹配的元素从jQuery对象删除,因而可以在将来再使用这些匹配的元素。与remove()不同的是,所有绑定的事件、附件的数据等都会保留下来。

通过下面的例子,可以知道它与remove()方法的区别:

$("ul li").click(function(){
   alert($(this).html());
})
var $li=$("ul li:eq(1)").detach();  //删除元素
$li.appendTo("ul");  //重新追加此元素,发现它之前绑定的事件还在,如果使用remove()方法删除元素的话,那么它之前把绑定的事件将失效;

3、empty()方法

严格来讲,empty()方法并不是删除节点,而是清除节点,它能清空元素中的所有后代节点。

$("ul li:eq(1)").empty();//获取第二个<li>元素节点后,清空此元素里的内容,注意是元素里。

运行后的结果为:

当运行代码后,第二个<li>元素的内容被清空了,只剩下<li>元素默认的符号"."。

© 著作权归作者所有

指尖跳动的精灵
粉丝 16
博文 90
码字总数 48459
作品 0
海淀
私信 提问
jQuery零基础入门——(六)修改DOM结构

《jQuery零基础入门》系列博文是在廖雪峰老师的博文基础上,可能补充了个人的理解和日常遇到的点,用我的理解表述出来,主干出处来自廖雪峰老师的技术分享。 在《零基础入门JavaScript》的时...

JandenMa
2018/07/20
0
0
jQuery零基础入门——(五)操作DOM

《jQuery零基础入门》系列博文是在廖雪峰老师的博文基础上,可能补充了个人的理解和日常遇到的点,用我的理解表述出来,主干出处来自廖雪峰老师的技术分享。 jQuery强大的选择器,最终目的是...

JandenMa
2018/07/14
0
0
jQuery知识总结之DOM操作

本篇文章主要总结一下jQuery中DOM节点的创建、插入、删除与替换以及jQuery中丰富的遍历节点的方法。 jQueryDOM操作之节点创建与属性的处理 JavaScript原生接口创建节点,在处理上是非常复杂与...

03/23
0
0
Python全栈 Web(jQuery 一条龙服务)

jQuery 1.jQuery介绍 jQuery是一个轻量级的JS库 - 是一个被封装好的JS文件,提供了更为简便的元素操作方式 核心理念:Write Less Do More jQuery版本: jQuery 2.x 不再支持IE6.7.8 jQuery 1.11...

巴黎香榭
2018/09/17
0
0
JQuery元素属性和样式操作、以及设置元素和内容

一、JQury元素属性操作 通过JQuery可以对元素本身的属性进行操作,包括获取属性的属性值,设置属性的属性值,并且可以删除属性值(attr()和removeAttr())。 二、JQuery样式操作 元素样式操作...

Red_Ant_hoyl
2018/07/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

typescript 接口 函数类型 可索引类型

函数类型 可索引类型 数字索引签名 字符串索引签名 数字索引签名返回值 必须是 字符串索引签名返回值的子集 只读索引签名

lilugirl
今天
3
0
Oracle SQL语法实例合集

如需转载请注明出处https://my.oschina.net/feistel/blog/3052024 目的:迅速激活Oracle SQL 参考:《Oracle从入门到精通》 ------------------------------------------------------------......

LoSingSang
今天
2
0
增加 PostgreSQL 服务进程的最大打开文件数

https://serverfault.com/questions/628610/increasing-nproc-for-processes-launched-by-systemd-on-centos-7 要在systemd的配置里加才行...

helloclia
今天
2
0
组合模式在商品分类列表中的应用

在所有的树形结构中最适合的设计模式就是组合模式,我们看看常用商品分类中如何使用。 先定义一个树形结构的商品接口 public interface TreeProduct { List<TreeProduct> allProducts(...

算法之名
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部