jQuery的clone方法可以复制一个DOM元素,但是它有一些限制,不能复制所有的内容。
首先,jQuery的clone方法只能复制DOM元素本身,而不能复制它的子元素。例如:
$("#div1").clone(); // 只会复制div1本身,而不会复制div1里面的子元素。
其次,jQuery的clone方法也不能复制某些特殊属性。例如:
$("#input1").clone(); // 不会复制input1里面的value属性。
此外,jQuery的clone方法也不能复制某些事件监听函数。例如:
$("#button1").clone(); // 不会复制button1上面绑定的click事件监听函数。
最后,jQuery的clone方法也不能复制某些CSS样式属性。例如:
$("#div2").clone(); // 不会复制div2上面设置的CSS样式属性。
因此,要想使用jQuery clone方法来实现真正意义上的“深度”克隆DOM元素是行不通的。在这种情况下,我们可以使用JavaScript原生API来实现深度克隆DOM元素。例如使用Element.cloneNode()方法来实现深度克隆DOM元素:
var cloneNode = document.getElementById('div3').cloneNode(true);
jQuery HTML/CSS 方法
克隆所有的 <p> 元素,并插入到 <body> 元素的结尾:
clone() 方法生成被选元素的副本,包含子节点、文本和属性。
参数 | 描述 |
---|---|
true | 规定需复制事件处理程序。 |
false | 默认。规定不复制事件处理程序。 |
复制包含事件处理程序的元素
如何使用 clone() 方法复制一个元素,包含事件处理程序。
jQuery HTML/CSS 方法
jQuery appendTo() 方法jQuery HTML/CSS 方法实例 在每个 p 元素的结尾插入 span 元素:$(button).click(function(){ $(spanHell...
jQuery 选择器参考手册实例选择所有禁用的 input 和 button 元素:$(:disabled)亲自试一试定义和用法:disabled 选择器选取所有禁...
jQuery 遍历参考手册实例选择所有段落,找到这些段落中的 span 元素,然后将它们恢复为段落,并把段落设置为两像素的红色边框:$...
jQuery attr() 方法jQuery HTML/CSS 方法实例 设置图像的 width 属性:$("button").click(function(){ $("img").attr("width","5...
jQuery.inArray()方法jQuery 杂项方法实例返回数组中指定元素的索引值 div"John" 在索引值为 span/span 的位置被找到/divdiv4 在...