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 相关文章推荐
锋利的jQuery jQuery中的DOM操作
Mar 21 Javascript
javascript模拟的Ping效果代码 (Web Ping)
Mar 13 Javascript
在Windows上安装Node.js模块的方法
Sep 25 Javascript
jQuery垂直多级导航菜单代码分享
Aug 18 Javascript
JS实现合并两个数组并去除重复项只留一个的方法
Dec 17 Javascript
深入理解JavaScript中的对象复制(Object Clone)
May 18 Javascript
Angular ng-class详解及实例代码
Sep 19 Javascript
老生常谈jquery中detach()和remove()的区别
Mar 02 Javascript
使用node.js对音视频文件加密的实例代码
Aug 30 Javascript
vue Element-ui input 远程搜索与修改建议显示模版的示例代码
Oct 19 Javascript
浅谈Vue CLI 3结合Lerna进行UI框架设计
Apr 14 Javascript
浅入深出Vue之组件使用
Jul 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调用C代码的实现方法
2014/03/11 PHP
用 Composer构建自己的 PHP 框架之设计 MVC
2014/10/30 PHP
php实现Linux服务器木马排查及加固功能
2014/12/29 PHP
php连接MSsql server的五种方法总结
2018/03/04 PHP
关于this和self的使用说明
2010/08/01 Javascript
JavaScript函数的4种调用方法详解
2014/04/22 Javascript
字段太多jquey快速清空表单内容方法
2014/08/21 Javascript
JavaScipt中栈的实现方法
2016/02/17 Javascript
JavaScript 不支持 indexof 该如何解决
2016/03/30 Javascript
javascript中利用柯里化函数实现bind方法
2016/04/29 Javascript
JS中数组重排序方法
2016/11/11 Javascript
javascript设计模式之单体模式学习笔记
2017/02/15 Javascript
jQuery使用eraser.js插件实现擦除、刮刮卡效果的方法【附eraser.js下载】
2017/04/28 jQuery
Angularjs 与 bower安装和使用详解
2017/05/11 Javascript
详解ES6之async+await 同步/异步方案
2017/09/19 Javascript
JavaScript实现省市联动过程中bug的解决方法
2017/12/04 Javascript
浅谈React高阶组件
2018/03/28 Javascript
浅谈mvvm-simple双向绑定简单实现
2018/04/18 Javascript
jQuery简单实现的HTML页面文本框模糊匹配查询功能完整示例
2018/05/09 jQuery
微信小程序 扭蛋抽奖机css3动画实现详解
2019/07/19 Javascript
jQuery HTML设置内容和属性操作实例分析
2020/05/20 jQuery
[03:59]DOTA2英雄梦之声_第07期_水晶室女
2014/06/23 DOTA
Python函数中定义参数的四种方式
2014/11/30 Python
编写Python小程序来统计测试脚本的关键字
2016/03/12 Python
Django读取Mysql数据并显示在前端的实例
2018/05/27 Python
Python常见的pandas用法demo示例
2019/03/16 Python
PyTorch的torch.cat用法
2020/06/28 Python
简单了解python关键字global nonlocal区别
2020/09/21 Python
Html5踩坑记之mandMobile使用小记
2020/04/02 HTML / CSS
瑞士设计师家具和家居饰品网上商店:Bruno Wickart
2019/03/18 全球购物
售后专员岗位职责
2013/12/08 职场文书
初中数学教学反思
2014/01/16 职场文书
2015年八一建军节活动总结
2015/03/20 职场文书
合同审查法律意见书
2015/06/04 职场文书
Python中如何处理常见报错
2022/01/18 Python
Python如何利用pandas读取csv数据并绘图
2022/07/07 Python