Существует ли быстрый способ «супер» глубокого клонирования узла, включая его свойства?(и методы, я думаю)
У меня есть что-то вроде этого:
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); }
}