molily: Klonen von Elementen und Attribute setzen

Beitrag lesen

Hallo,

var klasse = document.createAttribute("class");
  klasse.nodeValue = "frageklon";
  klon.setAttributeNode(klasse);

Das ist unnötig aufwändig und wird, wie du siehst, auch nicht unbedingt unterstützt.
Setze das class-Attribut direkt über die Eigenschaft className. Kein createAttribute usw. Das gilt eigentlich für das Setzen und Lesen aller Attribute. createAttribute soll gänzlich vermieden werden, über setAttribute könnte man diskutieren, nötig oder vortelihaft ist diese Langschreibweise jedenfalls nicht.

var klonID = document.createAttribute("id");
  klonID.nodeValue = elid + "klon";
  klon.setAttributeNode(klonID);

Setze das id-Attribut besser direkt über die Eigenschaft id.

var stilstr = "position: absolute; left: 150px; top:150px;";
  var stil = document.createAttribute("style");
  stil.nodeValue = stilstr;
  klon.setAttributeNode(stil); // hier wirft IE6 bei mir einen Fehler

Setze Style-Eigenschaften über die Eigenschaft style, also einzeln die CSS-Eigenschaften: klon.style.position = "absolute" usw. Ein style-Attribut existiert bereits standardmäßig, wahrscheinlich stört sich MSIE daran.

Theoretisch möglich (DOM 2 CSS) wäre auch:
klon.style.cssText = "position: absolute; left: 150px; top:150px;";
Aber das werden einige Browser wohl nicht verstehen.

Mathias