我想使用Javascript克隆标记(不使用任何外部框架,如jQueries,所以请将答案限制为普通的Javascript)
这是我的要求。假设我有一个像文件中的以下随机div,
<div id='anEmptyDiv' style="display:none">
<div>
Lorem Ipsum
</div>
</div>
我应该可以做这样的事情,
var customDiv = document.getElementyById('anEmptyDiv');
var copyDiv = clone(customDiv);
copyDiv.id = 'a_valid_id';
copyDiv.style.display = 'block';
这个问题背后有一个原因。我有一个结构化的DIV标签,我想在某些事件发生时多次使用。我只想要结构,我不打算每次都创建DOM树。这可能在Javascript中吗?
答案 0 :(得分:3)
您可以尝试cloneNode
功能:
var customDiv = document.getElementById('anEmptyDiv');
var copyDiv = customDiv.cloneNode(true);
copyDiv.id = 'a_valid_id';
copyDiv.style.display = 'block';
答案 1 :(得分:1)
通过http://www.w3schools.com/dom/dom_nodes_clone.asp
xmlDoc=loadXMLDoc("books.xml");
oldNode=xmlDoc.getElementsByTagName('book')[0];
newNode=oldNode.cloneNode(true);
xmlDoc.documentElement.appendChild(newNode);
//Output all titles
y=xmlDoc.getElementsByTagName("title");
for (i=0;i<y.length;i++)
{
document.write(y[i].childNodes[0].nodeValue);
document.write("<br />");
}
此处的关键功能是cloneNode