wahsaga: DOM: Wie setzte ich Attribute bei neu erzeugten Elementen

Beitrag lesen

hi,

Jetzt habe ich nur noch ein Problem. Ich kann meinen (inzwischen DIVs) leider keine "onmouseover" und "onmouseout" befehle setzten lassen.

Mathias sagte dir im vorherigen Posting doch:

Was das Setzen von Attributen generell angeht: Vergiss createAttribute und setAttributeNode.

var TD1 = document.createElement("div");
  var GetIDN = document.createAttribute("id");
  GetIDN.nodeValue = subid;
  document.getElementById(elementbase).lastChild.setAttributeNode(GetIDN);

Warum dieser umständliche Zugriff über ID des Elternelements und lastChild?
Du hast dir das Element gerade erst erzeugt, und hast seine Referenz damit immer noch in TD1 vorliegen.

TD1.id = subid;

var StyleGuide = document.createAttribute("class");
  StyleGuide.nodeValue = "nav03extra";
  document.getElementById(subid).setAttributeNode(StyleGuide);

Du hast die Referenz auf das Element immer noch vorliegen, du hast es ja gerade erst erzeugt - wieso jetzt schon wieder getElementById?

Und bitte nicht schon wieder den createAttribute/setAttribute-Zirkus -
TD1.className = "nav03extra";
und gut is'.

var DivScript = document.createAttribute("OnMouseOver");
  DivScript.nodeValue = "over02(this);";
  document.getElementById(subid).setAttributeNode(DivScript);

TD1.onmouseover = "over02";

gruß,
wahsaga

--
/voodoo.css:
#GeorgeWBush { position:absolute; bottom:-6ft; }