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 相关文章推荐
一份老外写的XMLHttpRequest代码多浏览器支持兼容性
Jan 11 Javascript
修改jquery里的dialog对话框插件为框架页(iframe) 的方法
Sep 14 Javascript
使用jQuery设置disabled属性与移除disabled属性
Aug 21 Javascript
JavaScript获取鼠标移动时的坐标(兼容IE8、chome谷歌、Firefox)
Sep 13 Javascript
jquery滚动加载数据的方法
Mar 09 Javascript
JavaScript中定义类的方式详解
Jan 07 Javascript
JavaScript、jQuery与Ajax的关系
Jan 24 Javascript
jquery插件格式实例分析
Jun 16 Javascript
JS实现title标题栏文字不间断滚动显示效果
Sep 07 Javascript
小程序实现左滑删除功能
Oct 30 Javascript
vue 详情跳转至列表页实现列表页缓存
Mar 27 Javascript
详解vue中$nextTick和$forceUpdate的用法
Dec 11 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 采集书并合成txt格式的实现代码
2009/03/01 PHP
php iconv() : Detected an illegal character in input string
2010/12/05 PHP
php对图像的各种处理函数代码小结
2013/07/08 PHP
Zend Framework动作控制器用法示例
2016/12/09 PHP
PHP7基于curl实现的上传图片功能
2018/05/11 PHP
JS日历 推荐
2006/12/03 Javascript
JavaScript中的几个关键概念的理解-原型链的构建
2011/05/12 Javascript
jquery中:input和input的区别分析
2011/07/13 Javascript
jquery插件开发方法(初学者)
2012/02/03 Javascript
Struts2的s:radio标签使用及用jquery添加change事件
2013/04/08 Javascript
Jquery 例外被抛出且未被接住原因介绍
2013/09/04 Javascript
js点击选择文本的方法
2015/02/09 Javascript
浅谈jquery.fn.extend与jquery.extend区别
2015/07/13 Javascript
jQuery计算文本框字数及限制文本框字数的方法
2016/03/01 Javascript
Javascript删除指定元素节点的方法
2016/06/21 Javascript
关于在Servelet中如何获取当前时间的操作方法
2016/06/28 Javascript
jQuery图片切换动画特效
2016/11/02 Javascript
jQuery animate()实现背景色渐变效果的处理方法【使用jQuery.color.js插件】
2017/03/15 Javascript
react-redux中connect()方法详细解析
2017/05/27 Javascript
angularjs1.5 组件内用函数向外传值的实例
2018/09/30 Javascript
浅谈ECMAScript 中的Array类型
2019/06/10 Javascript
jQuery轮播图功能制作方法详解
2019/12/03 jQuery
TypeScript之调用栈的实现
2019/12/31 Javascript
Element Tooltip 文字提示的使用示例
2020/07/26 Javascript
详解如何使用Python编写vim插件
2017/11/28 Python
python3+PyQt5 使用三种不同的简便项窗口部件显示数据的方法
2019/06/17 Python
对django views中 request, response的常用操作详解
2019/07/17 Python
django序列化serializers过程解析
2019/12/14 Python
Python urlopen()和urlretrieve()用法解析
2020/01/07 Python
python读取dicom图像示例(SimpleITK和dicom包实现)
2020/01/16 Python
GWT的应用有哪两种部署模式
2012/12/21 面试题
跑操口号
2014/06/12 职场文书
活动总结结尾怎么写
2014/08/30 职场文书
公民授权委托书范本
2014/09/17 职场文书
Golang Gob编码(gob包的使用详解)
2021/05/07 Golang
Pytest中skip skipif跳过用例详解
2021/06/30 Python