我需要克隆一个div,克隆后,div中的所有元素都应该有唯一的ID。我需要仅使用javascript而不是jquery来执行此操作。
任何人都可以帮助我。
答案 0 :(得分:1)
以下代码克隆元素,使用递归函数将随机ID分配给克隆元素及其子元素,并将其附加到文档正文。根据您的需求调整。另请参阅this jsfiddle
var someClone = someDiv.clone(true), children = someClone.childNodes;
someClone.id = Math.floor(1000+Math.random()*10000).toString(16);
reId(children);
function reId(nodes){
for (var i=0;i<nodes.length;(i+=1)){
var children = nodes[i].childNodes;
nodes[i].id = Math.floor( 1001+Math.random()*10000 ).toString(16);
if (children.length){
reId(children);
}
}
}
document.body.appendChild(someClone);