jQuery DOM删除节点操作指南
2015-03-03 11:00
686 查看
下面示例可能用到如下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>元素节点后,清空此元素里的内容,注意是元素里。
运行后的结果为:
当运行代码后,第二个<li>元素的内容被清空了,只剩下<li>元素默认的符号"."。
以上就是本文所述的全部内容了,希望大家能够喜欢。
您可能感兴趣的文章:
相关文章推荐
- jQuery DOM插入节点操作指南
- jQuery DOM删除节点操作指南
- treeview节点的添加和删除
- 【1138】数据结构上机测试2-1:单链表操作A(顺序建表+删除节点)(SDUT)
- 节点删除
- TreeList 的 增加、删除节点-----DevExpress
- 剑指Offer13:在O(1)时间删除链表节点
- Linux利用i节点删除乱码文件
- 如何在 SQL Server 2005 故障转移群集中添加或删除节点(安装程序)
- C#递归增加、删除树节点(TreeView)(转载于互联网)
- 链表单个节点的删除
- 剑指Offer :面试题13 在O(1)时间删除链表节点
- zookeeper学习之java api查找并删除节点<五>
- 单链表的建立、测长、打印、删除节点、插入节点、排序、逆转
- 访问单个节点的删除
- 二.mongodb集群之win7环境下模拟多节点主从集群的添加、删除、管理
- 节点选取及删除等
- jquery -- 删除节点
- 一个JTree节点添加、删除和修改的例子
- 删除两个双向循环链表中具有相同值的节点