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 相关文章推荐
做网页的一些技巧
Feb 01 Javascript
Javascript跨域请求的4种解决方式
Mar 17 Javascript
js实现文章文字大小字号功能完整实例
Nov 01 Javascript
jquery checkbox 勾选的bug问题解决方案与分析
Nov 13 Javascript
全面解析Bootstrap中transition、affix的使用方法
May 30 Javascript
JavaScript动态添加事件之事件委托
Jul 12 Javascript
正则表达式基本语法及表单验证操作详解【基于JS】
Apr 07 Javascript
JavaScript使用readAsDataURL读取图像文件
May 10 Javascript
Vue iview-admin框架二级菜单改为三级菜单的方法
Jul 03 Javascript
详解用JS添加和删除class类名
Mar 25 Javascript
vue-element-admin 菜单标签失效的解决方式
Nov 12 Javascript
vue 实现弹窗关闭后刷新效果
Apr 08 Vue.js
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
getJSON跨域SyntaxError问题分析
2014/08/07 PHP
PHP中is_dir()函数使用指南
2015/05/08 PHP
PHP目录操作实例总结
2016/09/27 PHP
php中的explode()函数实例介绍
2019/01/18 PHP
用javascript实现分割提取页面所需内容
2007/05/09 Javascript
javascript中用星号表示预录入内容的实现代码
2011/01/08 Javascript
js三种排序算法分享
2012/08/16 Javascript
jqGrid增加时--判断开始日期与结束日期(实例解析)
2013/11/08 Javascript
jQuery学习笔记之jQuery原型属性和方法
2014/06/09 Javascript
Javascript 拖拽的一些高级的应用(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
JavaScript实现同时调用多个函数的方法
2015/11/09 Javascript
详解js中class的多种函数封装方法
2016/01/03 Javascript
Jquery树插件zTree实现菜单树
2017/01/24 Javascript
js中删除数组中的某一元素实例(无下标时)
2017/02/28 Javascript
创建echart多个联动的示例代码
2018/11/23 Javascript
JS基于ES6新特性async await进行异步处理操作示例
2019/02/02 Javascript
vuecli项目构建SSR服务端渲染的实现
2020/10/30 Javascript
[04:50]2019DOTA2高校联赛秋季赛四强集锦
2019/12/27 DOTA
Python脚本实现下载合并SAE日志
2015/02/10 Python
利用Python实现Windows下的鼠标键盘模拟的实例代码
2017/07/13 Python
Python线程创建和终止实例代码
2018/01/20 Python
pyinstaller打包多个py文件和去除cmd黑框的方法
2019/06/21 Python
Python3+RIDE+RobotFramework自动化测试框架搭建过程详解
2020/09/23 Python
谈谈对css属性box-sizing的了解
2017/01/04 HTML / CSS
国际知名军事风格休闲装品牌:Alpha Industries(阿尔法工业)
2017/05/24 全球购物
迪卡侬波兰体育用品商店:Decathlon波兰
2020/03/31 全球购物
银行委托书范本
2014/04/04 职场文书
校车安全责任书
2014/08/25 职场文书
入党介绍人意见2015
2015/06/01 职场文书
跑出一片天观后感
2015/06/08 职场文书
行政复议决定书
2015/06/24 职场文书
2016新春团拜会致辞
2015/08/01 职场文书
MYSQL如何查看进程和kill进程
2022/03/13 MySQL
将MySQL的表数据全量导入clichhouse库中
2022/03/21 MySQL
python绘制简单直方图(质量分布图)的方法
2022/04/21 Python
Windows Server 2016 配置 IIS 的详细步骤
2022/04/28 Servers