jQuery DOM删除节点操作指南


Posted in Javascript onMarch 03, 2015

下面示例可能用到如下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>元素节点后,清空此元素里的内容,注意是元素里。

运行后的结果为:

jQuery DOM删除节点操作指南

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

以上就是本文所述的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
javascript 硬盘序列号+其它硬件信息
Dec 23 Javascript
动态添加js事件实现代码
Mar 12 Javascript
js限制textarea每行输入字符串长度的代码
Oct 31 Javascript
Jquery日期选择datepicker插件用法实例分析
Jun 08 Javascript
常见的javascript跨域通信方法
Dec 31 Javascript
详解AngularJS中的表单验证(推荐)
Nov 17 Javascript
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
Dec 14 Javascript
Javascript实现的StopWatch功能示例
Jun 13 Javascript
Vue2.0设置全局样式(less/sass和css)
Nov 18 Javascript
Vue的事件响应式进度条组件实例详解
Feb 04 Javascript
vue实现select下拉显示隐藏功能
Sep 30 Javascript
编写一个javascript元循环求值器的方法
Apr 14 Javascript
JS实现表格数据各种搜索功能的方法
Mar 03 #Javascript
深入理解JavaScript系列(27):设计模式之建造者模式详解
Mar 03 #Javascript
javascript验证身份证号
Mar 03 #Javascript
JS烟花背景效果实现方法
Mar 03 #Javascript
深入理解JavaScript系列(26):设计模式之构造函数模式详解
Mar 03 #Javascript
深入理解JavaScript系列(25):设计模式之单例模式详解
Mar 03 #Javascript
js+jquery常用知识点汇总
Mar 03 #Javascript
You might like
mysql5详细安装教程
2007/01/15 PHP
编写安全 PHP应用程序的七个习惯深入分析
2013/06/08 PHP
解析php利用正则表达式解决采集内容排版的问题
2013/06/20 PHP
Yii2数据库操作常用方法小结
2017/05/04 PHP
phpstorm 配置xdebug的示例代码
2019/03/31 PHP
JavaScript入门之基本函数详解
2011/10/21 Javascript
广泛收集的jQuery拖放插件集合
2012/04/09 Javascript
解析JavaScript中点号“.”的多义性
2013/12/02 Javascript
jQuery如何实现点击页面获得当前点击元素的id或其他信息
2014/01/09 Javascript
node.js实现逐行读取文件内容的代码
2014/06/27 Javascript
基于JQuery制作可编辑的表格特效
2014/12/23 Javascript
javascript动态修改Li节点值的方法
2015/01/20 Javascript
JQuery中extend的用法实例分析
2015/02/08 Javascript
JavaScript获得url所有参数键值表的方法
2015/03/21 Javascript
javascript中call和apply的用法示例分析
2015/04/02 Javascript
Javascript中判断对象是否为空
2015/06/10 Javascript
JS组件系列之Bootstrap Icon图标选择组件
2016/01/28 Javascript
原生js实现自由拖拽弹窗代码demo
2016/06/29 Javascript
jquery获取input type=text中的值的各种方式(总结)
2016/12/02 Javascript
详解js前端代码异常监控
2017/01/11 Javascript
用Vue-cli搭建的项目中引入css报错的原因分析
2017/07/20 Javascript
js禁止浏览器页面后退功能的实例(推荐)
2017/09/01 Javascript
es6数据变更同步到视图层的方法
2019/03/04 Javascript
p5.js实现故宫橘猫赏秋图动画
2019/10/23 Javascript
浅析 Vue 3.0 的组装式 API(一)
2020/08/31 Javascript
Python3网络爬虫之使用User Agent和代理IP隐藏身份
2017/11/23 Python
TensorFlow实现随机训练和批量训练的方法
2018/04/28 Python
django-allauth入门学习和使用详解
2019/07/03 Python
浅谈django url请求与数据库连接池的共享问题
2019/08/29 Python
python用WxPython库实现无边框窗体和透明窗体实现方法详解
2020/02/21 Python
解决使用Pandas 读取超过65536行的Excel文件问题
2020/11/10 Python
详解CSS3弹性伸缩盒
2020/09/21 HTML / CSS
孕妇内衣和胸罩:Cake Maternity
2018/07/16 全球购物
优秀教师先进材料
2014/12/16 职场文书
2019学生会干事辞职信
2019/06/27 职场文书
用Python生成会跳舞的美女
2022/01/18 Python