jQuery--复制节点clone()详解
复制节点
节点复制也是常见的DOM操作,例如,在实现购物车时使用鼠标将商品拖拽到购物车中,商品的拖拽功能就可以使用节点的复制来实现。
在jQuery中提供了clone()方法,用于复制DOM节点(包含节点中的子节点、文本节点和属性节点),其语法格式如下:
$(sselector).clone(includeEvents, [deepEvents])
- $(selector):表示需要复制的节点元素
- includeEvents(可选、布尔类型):表示是否同时复制元素的附加数据和绑定事件,默认为false
- deepEvents(可选、布尔类型):表示是否同时复制元素中的所有子元素的附加数据和绑定事件,参数deepEvents默认与includeEvents一致。
示例1:
$("#shirtDiv").clone(false)//与clone()效果相同
$("#shirtDiv").clone(true)
$("#shirtDiv").clone(true, false)
$("#shirtDiv").clone(false, false)//与clone(false)效果相同
$("#shirtDiv").clone(true, true)//与clone(true)效果相同
示例2:
<!doctype html>
<html>
<head><meta charset="utf-8"><title>元素及事件的复制-jQuery</title><script type="text/javascript" src="js/jquery-1.x.js"></script><style type="text/css">#cloneDiv div{display:inline-block; margin:0 3px;}</style>
</head>
<body><div id="containerDiv"><div id="shirtDiv"> <img src="data:images/shirt.jpg" width="150px" title="喷绘T恤" /> <br/><span>设计喷绘T恤</span> </div><div><input type="button" value="普通复制" id="normalClone" /><input type="button" value="复制事件" id="normalEventClone" /><input type="button" value="复制元素及子元素" id="deepClone" /><input type="button" value="复制子元素及事件" id="deepEventClone" /></div><hr/><div id="cloneDiv"></div></div><script type="text/javascript">$(function (e) {//为shirtDiv中的span标签附加数据$("#shirtDiv span").data("msg", "漫步时尚广场-大卖场");//为shirtDiv添加点击事件,在事件中获取div中的span标签的附加数据$("#shirtDiv").click(function (){alert("shirtDiv被点击" + "附加数据:" + $(this).find("span").data("msg"));});//为shirtDiv中的img添加点击事件$("#shirtDiv img").click(function () {alert($(this).attr("title"));});//普通复制$("#normalClone").click(function () {//清空cloneDiv中的内容$("#cloneDiv").empty();//仅复制元素的内容,不对元素的事件处理和子元素的附加数据进行复制$("#cloneDiv").append($("#shirtDiv").clone(false));});//元素、事件处理、子元素的事件处理和附加数据同时复制$("#normalEventClone").click(function () {$("#cloneDiv").append($("#shirtDiv").clone(true));});//复制元素及事件处理,但不复制子元素事件处理和附加数据$("#deepClone").click(function () {$("#cloneDiv").append($("#shirtDiv").clone(true, false));});//元素、事件处理、子元素的事件处理和附加数据同时复制$("#deepEventClone").click(function () {$("#cloneDiv").append($("#shirtDiv").clone(true, true));});});</script>
</body>
</html>
jQuery--复制节点clone()详解相关推荐
- jquery遍历多个li_21个jQuery遍历节点方法详解
本篇教程介绍了21个jQuery遍历节点方法详解,希望阅读本篇文章以后大家有所收获,帮助大家对jQuery的理解更加深入. < 1.children()方法:$('div').children( ...
- jQuery的deferred对象详解
阮一峰大神的关于jQuery的deferred对象详解 http://www.ruanyifeng.com/blog/2011/08/a_detailed_explanation_of_jquery_ ...
- logback节点配置详解
logback节点配置详解 一:根节点 <configuration></configuration> 属性 : debug : 默认为false ,设置为true时,将打印出 ...
- jQuery.extend 函数使用详解
jQuery.extend 函数使用详解 一.总结 一句话总结: jquery $.extend的作用就是:用于将一个或多个对象的内容合并到目标对象:$.extend( target [, objec ...
- jQuery Validate验证框架详解
2019独角兽企业重金招聘Python工程师标准>>> 一.导入js库 <script type="text/javascript" src="& ...
- jQuery 表单验证插件,jQuery Validation Engine用法详解
jQuery 表单验证插件,jQuery Validation Engine用法详解 功能强大的 jQuery 表单验证插件,适用于日常的 E-mail.电话号码.网址等验证及 Ajax 验证,除自身 ...
- atitit.jQuery Validate验证框架详解与ati Validate 设计新特性
atitit.jQuery Validate验证框架详解与ati Validate 设计新特性 1. AtiValidate的目标1 2. 默的认校验规则1 2.1. 使用方式 1.metadata用 ...
- 最全的jquery datatables api 使用详解
https://www.cnblogs.com/amoniyibeizi/p/4548111.html 最全的jquery datatables api 使用详解 学习可参考:http://www.g ...
- 【转】4.1触碰jQuery:AJAX异步详解
传送门:异步编程系列目录-- 示例源码:触碰jQuery:AJAX异步详解.rar AJAX 全称 Asynchronous JavaScript and XML(异步的 JavaScript 和 X ...
最新文章
- 用Transformer实现OCR字符识别!
- tensorflow 的输入层和输出层维度注意事项
- 自定义Flex Library的使用
- fpga驱动步进电机转动指定角度_【硬见小百科】步进电机工作原理及实现方法...
- Interview Q A 三只蚂蚁不相撞的概率是多少
- 你知道什么是Jest吗?
- 【pmcaff】从中国到世界:移动领域的大现状
- 如何确定固定资产入账价值
- Docker中部署Mysql8数据库
- mysql long varchar2_long查询结果转换为varchar2类型
- JavaScript中为何要使用prototype
- SAP应用搜索分页的实现原理
- 前序遍历m-ary树_在Ruby中使用ary [start,length]- object进行数组元素分配
- c#读蓝牙数据_C#读取BWT901CL蓝牙传感器的数据
- list元素求和_C# lamda =gt;与 数组 list,简单应用
- c语言实验--九九乘法表,C语言实验报告(四)
- 深圳大学使用路由器登陆校园网,openwrt登陆drcom,d版教程
- IT英语中英文对照:著名的软件产品
- Cadence通孔焊盘制作
- java Date类型:24小时制和12小时制
热门文章
- vscode输出不滚动_解决 使用VSCode环境进行开发,突然出现卡顿、打字显示缓慢,滚动、选择迟缓等问题...
- Java8新特性之Joining
- 关于Git提交报warning解决方法(个人笔记)
- 银行卡电信诈骗危险预测
- 单片机 STM32 HAL 步进电机 Motor
- Angular $injector:unpr Unknown provider 问题原因汇总
- 解决java报错class [Ljava.lang.Object; cannot be cast to class [Ljava.lang.Comparable
- 那些年我们一起追过的美剧
- Java 生成微信扫描的二维码,跳转到指定网址,图片增加二维码及文字水印
- module ‘win32com.gen_py.00020813-0000-0000-C000-000000000046x0x1x9‘ has no attribute ‘CLSIDToClassM