Questo è relativo alla domanda javascript cloneNode and properties.Perché cloneNode esclude le proprietà personalizzate?
sto vedendo lo stesso comportamento. Node.cloneNode non copia su tutte le proprietà che mi aggiungo (codice dal post originale):
var theSource = document.getElementById("someDiv")
theSource.dictator = "stalin";
var theClone = theSource.cloneNode(true);
alert(theClone.dictator);
theClone
non contiene alcuna proprietà "dittatore".
non sono stato in grado di trovare alcuna spiegazione del motivo per cui questo è il caso. Lo documentation on MDN afferma che cloneNode
"copia tutti i suoi attributi e i loro valori", una linea che viene presa direttamente dallo DOM specification stesso.
Questo sembra rotto per me in quanto rende quasi impossibile fare una copia completa di un albero DOM che contiene le proprietà personalizzate.
Mi manca qualcosa qui?
avrei probabilmente solo evitare di utilizzare cloneNode, e se voglio clonare qualcosa, mi piacerebbe implementare la mia funzione di clonazione per clonare l'elemento come vedo in forma (per esempio, si potrebbe fare uno nuovo utilizzando il costruttore, quindi copia gli attributi, copia le proprietà e possibilmente altre cose personalizzate a seconda del tuo caso specifico). – trusktr