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 相关文章推荐
addEventListener和attachEvent二者绑定的执行函数中的this不相同
Dec 09 Javascript
JS实现双击编辑可修改状态的方法
Aug 14 Javascript
关于session和cookie的简单理解
Jun 08 Javascript
Javascript 实现放大镜效果实例详解
Dec 03 Javascript
jQuery插件zTree实现获取一级节点数据的方法
Mar 08 Javascript
解决element-ui中下拉菜单子选项click事件不触发的问题
Aug 22 Javascript
Vue刷新修改页面中数据的方法
Sep 16 Javascript
bootstrap+spring boot实现面包屑导航功能(前端代码)
Oct 09 Javascript
Vue实现开心消消乐游戏算法
Oct 22 Javascript
Nuxt页面级缓存的实现
Mar 09 Javascript
vue实现图片上传到后台
Jun 29 Javascript
JS跨浏览器解析XML应用过程详解
Oct 16 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中英混合字符串截取函数代码
2011/07/17 PHP
PHP最常用的2种设计模式工厂模式和单例模式介绍
2012/08/14 PHP
让PHP显示Facebook的粉丝数量方法
2014/01/08 PHP
ThinkPHP调用common/common.php函数提示错误function undefined的解决方法
2014/08/25 PHP
php判断并删除空目录及空子目录的方法
2015/02/11 PHP
php使用iconv中文截断问题的解决方法
2015/02/11 PHP
[原创]php实现子字符串位置相互对调互换的方法
2016/06/02 PHP
如何直接访问php实例对象中的private属性详解
2017/10/12 PHP
GWT中复制到剪贴板 js+flash实现复制 兼容性比较好
2010/03/07 Javascript
有趣的javascript数组定义方法
2010/09/10 Javascript
javascript对select标签的控制(option选项/select)
2013/01/31 Javascript
JavaScript实现GriwView单列全选(自写代码)
2013/05/13 Javascript
优化Jquery,提升网页加载速度
2013/11/14 Javascript
js定时器的使用(实例讲解)
2014/01/06 Javascript
跟我学习javascript的var预解析与函数声明提升
2015/11/16 Javascript
完美实现bootstrap分页查询
2015/12/09 Javascript
jquery输入数字随机抽奖特效的简单实现代码
2016/06/10 Javascript
jQuery实现点击查看大图并以弹框的形式居中
2016/08/08 Javascript
Node.js的文件权限及读写flag详解
2016/10/11 Javascript
基于jquery实现的鼠标悬停提示案例
2016/12/11 Javascript
JavaScript数组push方法使用注意事项
2017/10/30 Javascript
详解JWT token心得与使用实例
2019/08/02 Javascript
JS数组方法slice()用法实例分析
2020/01/18 Javascript
JavaScript动态生成表格的示例
2020/11/02 Javascript
python操作MongoDB基础知识
2013/11/01 Python
举例详解Python中的split()函数的使用方法
2015/04/07 Python
python数据批量写入ScrolledText的优化方法
2018/10/11 Python
PyTorch中Tensor的拼接与拆分的实现
2019/08/18 Python
Python小程序 控制鼠标循环点击代码实例
2019/10/08 Python
在notepad++中实现直接运行python代码
2019/12/18 Python
python如何编写win程序
2020/06/08 Python
PyCharm常用配置和常用插件(小结)
2021/02/06 Python
BAILEY 44官网:美国制造的女性服装
2019/07/01 全球购物
销售心得体会
2014/01/02 职场文书
高中学生会竞选演讲稿
2014/08/25 职场文书
JavaScript控制台的更多功能
2021/04/28 Javascript