cloneNode的使用
var box = document.querySelector('.box');
// 影子克隆: 只克隆節點本身
var box1 = box.cloneNode(false);
// 深度克隆: 克隆節點以及所有子節點
var box2 = box.cloneNode(true);
無法克隆非內聯事件
使用原生克隆方法之克隆屬性和內聯事件,對於通過事件監聽器添加的事件並不會克隆。
// 內聯事件處理函數,將會被綁定到克隆所得的新節點上
<div onclick="someFunction();">Click</div>
var el = document.querySelector('.some-class');
//addEventListener函數: 事件將不會被綁定到克隆所得的新節點上
el.addEventListener('click', function(e){
//用戶單點
},false);
// 元素屬性: 事件將不會被綁定到被克隆的節點上
el.onclick = function(e) {
// 用戶點擊
}