Есть ли быстрый способ «супер» глубокого клонирования узла, включая его свойства? (И методы, я думаю)javascript cloneNode и свойства
У меня есть что-то вроде этого:
var theSource = document.getElementById("someDiv")
theSource.dictator = "stalin";
var theClone = theSource.cloneNode(true);
alert(theClone.dictator);
Новый клонированный объект не имеет dictator
свойство. Теперь, скажем, у меня есть тысяча свойств, связанных с theSource
- как я могу (неявно) передавать/копировать их в клон?
// EDIT
@Fabrizio
Ваш hasOwnProperty
ответ не работает должным образом, поэтому я настроил его. Это решение, которое я искал:
temp = obj.cloneNode(true);
for(p in obj) {
if(obj.hasOwnProperty(p)) { eval("temp."+p+"=obj."+p); }
}