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 事件查询综合
Jul 13 Javascript
javascript中input中readonly和disabled区别介绍
Oct 23 Javascript
JavaScript实现继承的4种方法总结
Oct 16 Javascript
js实现TAB切换对应不同颜色的代码
Aug 31 Javascript
jQuery hover事件简单实现同时绑定2个方法
Jun 07 Javascript
JS实现显示带倒影的图片横排居中放大展示特效实例【测试可用】
Aug 23 Javascript
Bootstrop实现多级下拉菜单功能
Nov 24 Javascript
Bootstrap常用组件学习(整理)
Mar 24 Javascript
Bootstrap框架建立树形菜单(Tree)的实例代码
Oct 30 Javascript
详解vue-cli项目开发/生产环境代理实现跨域请求
Jul 23 Javascript
VUE+elementui组件在table-cell单元格中绘制微型echarts图
Apr 20 Javascript
Vue切换组件实现返回后不重置数据,保留历史设置操作
Jul 21 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语法(2)
2006/10/09 PHP
PHP memcache扩展的三种安装方法
2009/04/26 PHP
windows下开发并编译PHP扩展的方法
2011/03/18 PHP
免费的ip数据库淘宝IP地址库简介和PHP调用实例
2014/04/08 PHP
js用图作提交按钮或超连接
2008/03/26 Javascript
javascript中创建对象的三种常用方法
2010/12/30 Javascript
jQuery hover 延时器实现代码
2011/03/12 Javascript
避免回车键导致的页面无意义刷新的解决方法
2011/04/12 Javascript
用jQuery实现一些导航条切换,显示隐藏的实例代码
2013/06/08 Javascript
jquery中$(#form :input)与$(#form input)的区别
2014/08/18 Javascript
jQuery 浮动导航菜单适合购物商品类型的网站
2014/09/09 Javascript
用原生js做个简单的滑动效果的回到顶部
2014/10/15 Javascript
node.js中的fs.lchmodSync方法使用说明
2014/12/16 Javascript
关于JS中的方法是否加括号的问题
2016/07/27 Javascript
Jquery 整理元素选取、常用方法一览表
2016/11/26 Javascript
jQuery表单设置值的方法
2017/06/30 jQuery
实例详解JSON取值(key是中文或者数字)方式
2017/08/24 Javascript
nodejs简单实现TCP服务器端和客户端的聊天功能示例
2018/01/04 NodeJs
vue.js 添加 fastclick的支持方法
2018/08/28 Javascript
如何使用 vue + d3 画一棵树
2018/12/03 Javascript
ES6知识点整理之对象解构赋值应用示例
2019/04/17 Javascript
Vue实现日历小插件
2019/06/26 Javascript
如何利用node转发请求详解
2020/09/17 Javascript
Python判断telnet通不通的实例
2019/01/26 Python
Python socket聊天脚本代码实例
2020/01/02 Python
利用Python pandas对Excel进行合并的方法示例
2020/11/04 Python
玩转CSS3色彩
2010/01/16 HTML / CSS
如何安装ruby on rails
2014/02/09 面试题
毕业生应聘幼儿园的自荐信
2013/11/20 职场文书
消防战士优秀事迹材料
2014/02/13 职场文书
建设投标担保书
2014/05/13 职场文书
生产车间标语
2014/06/11 职场文书
2014年幼儿园保育工作总结
2014/12/02 职场文书
财务人员个人工作总结
2015/02/27 职场文书
2015年七夕爱情寄语
2015/03/24 职场文书
mongodb的安装和开机自启动详细讲解
2021/08/02 MongoDB