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调用webService远程访问出错的解决方法
May 21 Javascript
JS遮罩层效果 兼容ie firefox jQuery遮罩层
Jul 26 Javascript
jQuery EasyUI API 中文文档 - ComboBox组合框
Oct 07 Javascript
用dtree实现树形菜单 dtree使用说明
Oct 17 Javascript
JS对话框_JS模态对话框showModalDialog用法总结
Jan 11 Javascript
js类式继承与原型式继承详解
Apr 07 Javascript
非常酷炫的Bootstrap图片轮播动画
May 27 Javascript
Javascript实现汉字和拼音互转的终极方案
Oct 19 Javascript
jquery判断页面网址是否有效的两种方法
Dec 11 Javascript
React快速入门教程
Jan 17 Javascript
Bootstrap table右键功能实现方法
Feb 20 Javascript
微信小程序 支付功能实现PHP实例详解
May 12 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新手上路(八)
2006/10/09 PHP
PHP小技巧搜集,每个PHPer都来露一手
2007/01/02 PHP
PHP学习资料汇总与网址
2007/03/16 PHP
php中根据某年第几天计算出日期年月日的代码
2011/02/24 PHP
基于PHP输出缓存(output_buffering)的深入理解
2013/06/13 PHP
PHP 二维数组根据某个字段排序的具体实现
2014/06/03 PHP
PHP实现简单实用的分页类代码
2016/04/08 PHP
简单的pgsql pdo php操作类实现代码
2016/08/25 PHP
JavaScript获取GridView选择的行内容
2009/04/14 Javascript
jquery.lazyload  实现图片延迟加载jquery插件
2010/02/06 Javascript
jQuery选择器的工作原理和优化分析
2011/07/25 Javascript
基于jquery实现漂亮的动态信息提示效果
2011/08/02 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 图片库
2015/01/09 Javascript
jQuery Validate表单验证插件 添加class属性形式的校验
2016/01/18 Javascript
jQuery实现div拖拽效果实例分析
2016/02/20 Javascript
JavaScript必知必会(七)js对象继承
2016/06/08 Javascript
js print打印网页指定区域内容的简单实例
2016/11/01 Javascript
jQuery 添加样式属性的优先级别方法(推荐)
2017/06/08 jQuery
Express进阶之log4js实用入门指南
2018/02/10 Javascript
解决 viewer.js 动态更新图片导致无法预览的问题
2019/05/14 Javascript
浅谈vue 锚点指令v-anchor的使用
2019/11/13 Javascript
JS箭头函数和常规函数之间的区别实例分析【 5 个区别】
2020/05/27 Javascript
[01:12]DOTA2次级职业联赛 - Newbee.Y 战队宣传片
2014/12/01 DOTA
Python中用pycurl监控http响应时间脚本分享
2015/02/02 Python
python写入中英文字符串到文件的方法
2015/05/06 Python
TensorFlow中权重的随机初始化的方法
2018/02/11 Python
Python3实现的简单工资管理系统示例
2019/03/12 Python
解决python执行不输出系统命令弹框的问题
2019/06/24 Python
python腾讯语音合成实现过程解析
2019/08/01 Python
利用PyQt中的QThread类实现多线程
2020/02/18 Python
使paramiko库执行命令时在给定的时间强制退出功能的实现
2021/03/03 Python
如何使用PHP session
2015/04/21 面试题
雷锋精神演讲稿
2014/05/13 职场文书
关于运动会的广播稿
2015/08/19 职场文书
2016年社区“6.26”禁毒日宣传活动总结
2016/04/05 职场文书
SpringBoot2零基础到精通之异常处理与web原生组件注入
2022/03/22 Java/Android