jquery克隆
jQuery 克隆元素的方法
使用 jQuery 的 .clone() 方法可以复制 DOM 元素及其子元素。该方法允许选择是否复制元素的事件处理程序和数据。
基本语法:
$(selector).clone([withDataAndEvents][, deepWithDataAndEvents])
- withDataAndEvents(可选,布尔值):默认
false。设置为true时,克隆的元素会保留原始元素的事件处理程序和数据。 - deepWithDataAndEvents(可选,布尔值):默认与
withDataAndEvents相同。设置为true时,克隆的元素及其所有子元素会保留事件处理程序和数据。
示例代码
克隆元素但不复制事件和数据:
var clonedElement = $('#original').clone();
$('#target').append(clonedElement);
克隆元素并复制事件和数据:
var clonedElement = $('#original').clone(true, true);
$('#target').append(clonedElement);
实际应用场景
动态添加列表项:
var originalItem = $('#list li:first').clone();
$('#list').append(originalItem);
克隆表单输入字段:

var clonedField = $('.form-field:first').clone();
clonedField.find('input').val(''); // 清空输入值
$('.form-container').append(clonedField);
注意事项
- 克隆的元素会复制所有属性和样式,但不会自动插入到 DOM 中,需手动调用插入方法(如
.append()、.prepend()等)。 - 如果原始元素有唯一标识符(如
id),克隆后的元素会重复该标识符,可能导致冲突,需手动修改。 - 深克隆(
deepWithDataAndEvents)会增加性能开销,尤其是对大型 DOM 结构。
通过 .clone() 方法,可以高效地复制和操作 DOM 元素,适用于动态内容生成、模板复用等场景。






