浅析jQuery删除节点的三个方法
2015-12-08 11:27
555 查看
jQuery提供了三种删除节点的方法,即remove(),detach()和empty()。
测试所用HTML代码:
[html] view plaincopy
<p title="选择你最喜欢的水果?">你最喜欢的水果是?</p>
<ul>
<li title="苹果">苹果</li>
<li title="橘子">橘子</li>
<li title="菠萝">菠萝</li>
</ul>
1、remove()方法
[javascript] view plaincopy
$("ul li").click(function(){
alert($(this).html());
});
var $li = $("ul li:eq(1)").remove();
$li.appendTo("ul");
当某个节点用remove()方法删除后,该节点所包含的所有后代节点将同时被删除。这个方法的返回值是一个指向已被删除的节点的引用,因此可以在以后再使用这些元素。
2、detach()方法
[javascript] view plaincopy
var $li = $("ul li:eq(1)").detach();
$li.appendTo("ul");
detach()和remove()一样,也是从DOM中去掉所有匹配的元素。但需要注意的是,这个方法不会把匹配的元素从jQuery对象中删除,因而可以在将来再使用这些匹配的元素。与remove()不同的是,所有绑定的事件、附加的数据都会保留下来。
3、empty()方法
[javascript] view plaincopy
var $li = $("ul li:eq(1)").empty();
$li.appendTo("ul");
严格地讲,empty()方法并不是删除节点,而是清空节点,它能清空元素中的所有后代节点。
测试所用HTML代码:
[html] view plaincopy
<p title="选择你最喜欢的水果?">你最喜欢的水果是?</p>
<ul>
<li title="苹果">苹果</li>
<li title="橘子">橘子</li>
<li title="菠萝">菠萝</li>
</ul>
1、remove()方法
[javascript] view plaincopy
$("ul li").click(function(){
alert($(this).html());
});
var $li = $("ul li:eq(1)").remove();
$li.appendTo("ul");
当某个节点用remove()方法删除后,该节点所包含的所有后代节点将同时被删除。这个方法的返回值是一个指向已被删除的节点的引用,因此可以在以后再使用这些元素。
2、detach()方法
[javascript] view plaincopy
var $li = $("ul li:eq(1)").detach();
$li.appendTo("ul");
detach()和remove()一样,也是从DOM中去掉所有匹配的元素。但需要注意的是,这个方法不会把匹配的元素从jQuery对象中删除,因而可以在将来再使用这些匹配的元素。与remove()不同的是,所有绑定的事件、附加的数据都会保留下来。
3、empty()方法
[javascript] view plaincopy
var $li = $("ul li:eq(1)").empty();
$li.appendTo("ul");
严格地讲,empty()方法并不是删除节点,而是清空节点,它能清空元素中的所有后代节点。
相关文章推荐
- jquery操作table
- jQuery HTML节点元素修改、追加的方法
- jQuery操作表格
- jQuery动画模块源码分析之queue,dequeue,clearQueue方法源码分析
- JQuery中根据表单元素动态拼接json 字符串
- jquery autocomplete ajax 传参数
- jquery优雅的自定义函数总结
- JQuery中 json 和字符串直接相互转换
- 前端框架 - Jquery E 4000 asyUI介绍
- jQuery如何返回一个类数组对象,js让一个对象的行为像一个数组一样
- jQuery EasyUI使用教程之将一个HTML表格转换为数据网格
- jquery + ajax 跨域parsererror
- jQuery遮罩层实现方法实例详解(附遮罩层插件)
- jQuery实现的简单提示信息插件
- jquery设置元素的readonly和disabled
- jQueryEasyUI Messager基本使用
- 图片懒加载jquery lazyload
- 如何用jQuery封装插件
- #学习笔记#(6)mouseenter-mouseleave显示隐藏内容-jQuery
- jquery效果大全