复制容器时,如何在Firefox中将最新更新的表单项"粘贴"?
时间:2020-03-05 18:55:13 来源:igfitidea点击:
我有一个dl,其中包含一些输入框,这些输入框是我用一些JavaScript进行"克隆"的,例如:
var newBox = document.createElement('dl'); var sourceBox = document.getElementById(oldkey); newBox.innerHTML = sourceBox.innerHTML; newBox.id = newkey; document.getElementById('boxes').appendChild(columnBox);
在IE中,sourceBox中的表单在newBox中重复,并带有用户提供的值。在Firefox中,在原始Box中输入的最后一个值在newBox中不存在。我如何做这个"棍子"?
解决方案
回答
我们可以尝试cloneNode
方法。它可能会更好地复制内容。在大多数情况下也应该更快
var newBox; var sourceBox = document.getElementById(oldkey); if (sourceBox.cloneNode) newBox = sourceBox.cloneNode(true); else { newBox = document.createElement(sourceBox.tagName); newBox.innerHTML = sourceBox.innerHTML; } newBox.id = newkey; document.getElementById('boxes').appendChild(newBox);
回答
Firefox与IE:innerHTML处理?
回答
谢谢大家。
我通过使用原型并更改document.getElementById(oldkey)来完成工作
到$(oldkey)
<script src="j/prototype.js" type="text/javascript"></script> var newBox; var sourceBox = $(oldkey); if (sourceBox.cloneNode) newBox = sourceBox.cloneNode(true); else { newBox = document.createElement(sourceBox.tagName); newBox.innerHTML = sourceBox.innerHTML; } newBox.id = newkey; document.getElementById('boxes').appendChild(newBox);