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 相关文章推荐
window.location.hash 属性使用说明
Mar 20 Javascript
JS加jquery简单实现标签元素的显示或隐藏
Sep 23 Javascript
js给网页加上背景音乐及选择音效的方法
Mar 03 Javascript
js下拉选择框与输入框联动实现添加选中值到输入框的方法
Aug 17 Javascript
微信小程序 教程之小程序配置
Oct 17 Javascript
Servlet实现文件上传,可多文件上传示例
Dec 05 Javascript
详解让sublime text3支持Vue语法高亮显示的示例
Sep 29 Javascript
react在安卓中输入框被手机键盘遮挡问题的解决方法
Sep 03 Javascript
Vue项目History模式404问题解决方法
Oct 31 Javascript
深入理解基于vue-cli的webpack打包优化实践及探索
Oct 14 Javascript
Javascript幻灯片播放功能实现过程解析
May 07 Javascript
ant design charts 获取后端接口数据展示
May 25 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
合作指挥官:孟斯克
2020/03/16 星际争霸
PHP判断上传文件类型的解决办法
2015/10/20 PHP
PHP 绘制网站登录首页图片验证码
2016/04/12 PHP
PHP+Apache+Mysql环境搭建教程
2016/08/01 PHP
jquery 学习之二 属性(html()与html(val))
2010/11/25 Javascript
js字符串转换成xml对象并使用技巧解读
2013/04/18 Javascript
jQuery中验证表单提交方式及序列化表单内容的实现
2014/01/06 Javascript
Angular2利用组件与指令实现图片轮播组件
2017/03/27 Javascript
ES6新特性六:promise对象实例详解
2017/04/21 Javascript
Angular5.1新功能分享
2017/12/21 Javascript
jQuery实现滚动到底部时自动加载更多的方法示例
2018/02/18 jQuery
微信小程序实现tab左右切换效果
2020/11/15 Javascript
JS闭包经典实例详解
2018/12/20 Javascript
Vue基于vuex、axios拦截器实现loading效果及axios的安装配置
2019/04/26 Javascript
Vue+ElementUI项目使用webpack输出MPA的方法
2019/08/27 Javascript
微信小程序单选框自定义赋值
2020/05/26 Javascript
ES6 Symbol在对象中的作用实例分析
2020/06/06 Javascript
python实现sublime3的less编译插件示例
2014/04/27 Python
Python的包管理器pip更换软件源的方法详解
2016/06/20 Python
使用Python脚本实现批量网站存活检测遇到问题及解决方法
2016/10/11 Python
python数据清洗系列之字符串处理详解
2017/02/12 Python
Python正则表达式知识汇总
2017/09/22 Python
django ModelForm修改显示缩略图 imagefield类型的实例
2019/07/28 Python
pytorch实现线性拟合方式
2020/01/15 Python
pytorch SENet实现案例
2020/06/24 Python
python 19个值得学习的编程技巧
2020/08/15 Python
HTML5里autofocus自动聚焦属性使用介绍
2016/06/22 HTML / CSS
2014年房产经纪人工作总结
2014/12/08 职场文书
赔偿协议书
2015/01/27 职场文书
天河观后感
2015/06/11 职场文书
幼儿园开学家长寄语(2016秋季)
2015/12/03 职场文书
安全生产标语口号
2015/12/26 职场文书
如何计划开一家便利店?
2019/07/31 职场文书
十二月早安励志心语大全
2019/12/03 职场文书
导游词之介休绵山
2019/12/31 职场文书
在Windows Server 2012上安装 .NET Framework 3.5 所遇到的问题
2022/04/29 Servers