jQuery移动和复制dom节点实用DOM操作案例


Posted in Javascript onDecember 17, 2012

本文章简单的介绍了关于jQuery移动和复制dom节点程序实现,有需要学习的朋友可参考参考。

在做一个项目时,需要dom节点移动,如以下代码:

<div></div> 
<p></p>

需要把p标签移动到div标签里,经过测试发现,在jQuery中移动dom节点非常方便:
$('div').append($('p'))

这样即可把p标签移动到div标签里,千万不要写成这样:
$('div').append( $('p').html() )

这样只是把p标签里的内容复制到div标签里。

如果只是复制一份到div标签里,原来的标签还保留着,那么可以这么写:

$('div').append( $('p').clone(true))


$(function(){ 
$(".nm_ul li").click(function(){ 
$(this).clone(true).appendTo(".nm_ul"); // 复制当前点击的节点,并将它追加到<ul>元素 
}) 
});

而且当clone参数设置为true时还可以将按钮上绑定的事件一起复制到新按钮上

在clone()方法中传递了一个参数true,它的含义是复制元素的同时复制元素中所绑定的事件。因此该元素的副本也同样具有复制功能。如果不希望事件也被复制,则可以这么写:

$('div').append( $('p').clone())

移动节点
将页面上的一个节点移动到另外一个地方可以用jq的内部和外部插入方法(append,appendTo,prepend,prependTo,after,before,insertAfter,insertBefore),直接将选中的节点传递进去就可以实现移动
<button>Move Me!</button> 
<div id="box"></div> 
实例 
$("button").click(function(){ 
$(this).appendTo($("#box")); 
//或者用append 
$("#box").append(this); 
});

复制节点也是常用的DOM操作之一,例如很多购物网站的效果,用户不仅可以通过单击商品下方的“选择”按钮购买相应的产品,也可以通过鼠标拖动商品并将其放到购物车中。这个商品拖动功能就是用的复制节点,将用户选择的商品所处的节点元素复制一次,并将其跟随鼠标移动,从而达到购物效果。
HTML DOM结构如下:
<p class="nm_p" title="欢迎访问三水点靠木图书馆" >欢迎访问三水点靠木图书馆</p> 
<ul class="nm_ul"> 
<li title='PHP魔法'>简单易懂的PHP魔法</li> 
<li title='C魔法'>简单易懂的C魔法</li> 
<li title='JavaScript魔法'>简单易懂的JavaScript魔法</li> 
<li title='JQuery'>简单易懂的JQuery魔法</li> 
</ul>

如果单击<li>元素后需要再复制一个<li>元素,可以使用clone()方法来完成,先来看看效果:
效果演示
欢迎访问三水点靠木图书馆
简单易懂的PHP魔法
简单易懂的C魔法
简单易懂的JavaScript魔法
简单易懂的JQuery魔法
JQuery代码如下:
$(function(){ 
$(".nm_ul li").click(function(){ 
$(this).clone(true).appendTo(".nm_ul"); // 复制当前点击的节点,并将它追加到<ul>元素 
}) 
});

在页面中单击随便一项后,列表最下方出现该项的新节点。
复制节点后,被复制的新元素并不具有任何行为。如果需要新元素也具有复制功能(本例中是单击事件),可以使用如下JQuery代码:
$("ul li").click(function(){ 
$(this).clone(true).appendTo("ul"); // 注意参数true 
//可以复制自己,并且他的副本也有同样功能。 
})
Javascript 相关文章推荐
jQuery 获取URL的GET参数值的小例子
Apr 18 Javascript
Jquery实现三层遍历删除功能代码
Apr 23 Javascript
教你在heroku云平台上部署Node.js应用
Jul 30 Javascript
jquery判断单选按钮radio是否选中的方法
May 05 Javascript
js实现拖拽效果(构造函数)
Dec 14 Javascript
论JavaScript模块化编程
Mar 07 Javascript
jQuery实现的无限级下拉菜单功能示例
Sep 12 Javascript
微信小程序 用户数据解密详细介绍
Jan 09 Javascript
浅谈JavaScript作用域和闭包
Sep 18 Javascript
Angular利用trackBy提升性能的方法
Jan 26 Javascript
小程序图片剪裁加旋转的示例代码
Jul 10 Javascript
解决vue.js this.$router.push无效的问题
Sep 03 Javascript
javascript中判断一个值是否在数组中并没有直接使用
Dec 17 #Javascript
firefox下jquery iframe刷新页面提示会导致重复之前动作
Dec 17 #Javascript
使用按钮控制以何种方式打开新窗口的属性介绍
Dec 17 #Javascript
如何让页面在打开时自动刷新一次让图片全部显示
Dec 17 #Javascript
js中escape对应的C#解码函数 UrlDecode
Dec 16 #Javascript
Ext JS 4官方文档之三 -- 类体系概述与实践
Dec 16 #Javascript
js弹出的对话窗口永远保持居中显示
Dec 15 #Javascript
You might like
PHP怎样调用MSSQL的存储过程
2006/10/09 PHP
php Mysql日期和时间函数集合
2007/11/16 PHP
php导出csv数据在浏览器中输出提供下载或保存到文件的示例
2014/04/24 PHP
浅谈PHP调用Webservice思路及源码分享
2014/06/04 PHP
php利用嵌套数组拼接与解析json的方法
2017/02/07 PHP
浏览器无法运行JAVA脚本的解决方法
2008/01/09 Javascript
javascript 写类方式之一
2009/07/05 Javascript
javascript面向对象入门基础详细介绍
2012/09/05 Javascript
jQuery判断密码强度实现思路及代码
2013/04/24 Javascript
javascript生成json数据简单示例分享
2014/02/14 Javascript
jquery实现的代替传统checkbox样式插件
2015/06/19 Javascript
JS原型对象的创建方法详解
2016/06/16 Javascript
浅谈jQuery效果函数
2016/09/16 Javascript
JS根据生日月份和日期计算星座的简单实现方法
2016/11/24 Javascript
浅述Javascript的外部对象
2016/12/07 Javascript
jquery 实现复选框的全选操作实例代码
2017/01/24 Javascript
详解Node.js access_token的获取、存储及更新
2017/06/20 Javascript
jQuery制作input提示内容(兼容IE8以上)
2017/07/05 jQuery
详解如何为你的angular app构建一个第三方库
2018/12/07 Javascript
vue中使用element ui的弹窗与echarts之间的问题详解
2019/10/25 Javascript
vue.js使用v-model实现父子组件间的双向通信示例
2020/02/05 Javascript
[15:57]教你分分钟做大人:斧王
2014/10/30 DOTA
解决nohup重定向python输出到文件不成功的问题
2018/05/11 Python
Python中交换两个元素的实现方法
2018/06/29 Python
使用python获取电脑的磁盘信息方法
2018/11/01 Python
Django+zTree构建组织架构树的方法
2019/08/21 Python
Python正则表达式学习小例子
2020/03/03 Python
python集合能干吗
2020/07/19 Python
英国最大的电脑零售连锁店集团:PC World
2016/10/10 全球购物
印尼第一大家居、生活和家具电子商务:Ruparupa
2019/11/25 全球购物
人力资源专业推荐信
2013/11/29 职场文书
《一本男孩子必读的书》教学反思
2014/02/19 职场文书
七夕相亲活动策划方案
2014/08/31 职场文书
python如何做代码性能分析
2021/04/26 Python
pytorch 如何使用amp进行混合精度训练
2021/05/24 Python
阿里面试Nacos配置中心交互模型是push还是pull原理解析
2022/07/23 Java/Android