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 相关文章推荐
prototype 1.5 &amp; scriptaculous 1.6.1 学习笔记
Sep 07 Javascript
javascript 页面只自动刷新一次
Jul 10 Javascript
用javascript对一个json数组深度赋值示例
Jul 27 Javascript
如何使用jQuery技术开发ios风格的页面导航菜单
Jul 29 Javascript
Javascript基于对象三大特性(封装性、继承性、多态性)
Jan 04 Javascript
使用Web Uploader实现多文件上传
Jun 08 Javascript
AngularJS ng-mousedown 指令
Aug 02 Javascript
浅析JS中对函数function的理解(基础篇)
Oct 14 Javascript
微信小程序登录态控制深入分析
Apr 12 Javascript
微信小程序实现的3d轮播图效果示例【基于swiper组件】
Dec 11 Javascript
js实现幻灯片轮播图
Aug 14 Javascript
Javascript设计模式之原型模式详细
Oct 05 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
php简单实现短网址(短链)还原的方法(测试可用)
2016/05/09 PHP
PHP从二维数组得到N层分类树的实现代码
2016/10/11 PHP
PHP $O00OO0=urldecode &amp; eval 解密,记一次商业源码的去后门
2020/09/13 PHP
DIY jquery plugin - tabs标签切换实现代码
2010/12/11 Javascript
javascript判断iphone/android手机横竖屏模式的函数
2011/12/20 Javascript
用JavaScript仿PS里的羽化效果代码
2011/12/20 Javascript
javascript 文本框水印/占位符(watermark/placeholder)实现方法
2012/01/15 Javascript
JavaScript常用对象的方法和属性小结
2012/01/24 Javascript
javascript 获取模态窗口的滚动位置代码
2013/08/06 Javascript
JS不间断向上滚动效果代码
2013/12/25 Javascript
IE6浏览器中window.location.href无效的解决方法
2014/11/20 Javascript
同一个网页中实现多个JavaScript特效的方法
2015/02/02 Javascript
node.js微信公众平台开发教程
2016/03/04 Javascript
拥Bootstrap入怀——导航栏篇
2016/05/30 Javascript
Vue.js对象转换实例
2017/06/07 Javascript
深入探究AngularJs之$scope对象(作用域)
2017/07/20 Javascript
AngularJS的$location使用方法详解
2017/10/19 Javascript
Vue.js递归组件构建树形菜单
2017/12/24 Javascript
mint-ui在vue中的使用示例
2018/04/05 Javascript
JS左右无缝轮播功能完整实例
2019/05/16 Javascript
vue渲染方式render和template的区别
2020/06/05 Javascript
Vue组件跨层级获取组件操作
2020/07/27 Javascript
从Python的源码浅要剖析Python的内存管理
2015/04/16 Python
教大家使用Python SqlAlchemy
2016/02/12 Python
详解python中的文件与目录操作
2017/07/11 Python
python中文分词,使用结巴分词对python进行分词(实例讲解)
2017/11/14 Python
python实现合并两个排序的链表
2019/03/03 Python
linux环境下Django的安装配置详解
2019/07/22 Python
CSS3 box-sizing属性详解
2016/11/15 HTML / CSS
canvas实现按住鼠标移动绘制出轨迹的示例代码
2018/02/05 HTML / CSS
moosejaw旗下的户外商品促销网站:Mountain Steals
2017/02/27 全球购物
潘多拉珠宝美国官方网站:Pandora US
2020/06/18 全球购物
迟到检讨书400字
2014/01/13 职场文书
勤俭节约倡议书
2014/04/14 职场文书
小学班级管理心得体会
2016/01/07 职场文书
springboot+rabbitmq实现智能家居实例详解
2022/07/23 Java/Android