Existe-t-il un moyen rapide de "super" cloner en profondeur un noeud, y compris ses propriétés? (Et les méthodes, je suppose)javascript cloneNode et propriétés
J'ai quelque chose comme ceci:
var theSource = document.getElementById("someDiv")
theSource.dictator = "stalin";
var theClone = theSource.cloneNode(true);
alert(theClone.dictator);
Le nouvel objet cloné n'a pas de propriété dictator
. Maintenant, disons que j'ai un millier de propriétés attachées à theSource
- comment puis-je (non explicitement) les transférer/copier au clone?
// EDIT
@Fabrizio
Votre hasOwnProperty
réponse ne fonctionne pas correctement, donc j'ajusta. C'est la solution que je cherchais:
temp = obj.cloneNode(true);
for(p in obj) {
if(obj.hasOwnProperty(p)) { eval("temp."+p+"=obj."+p); }
}