cascade: Per JS hinzugefügte DIV's nicht mit richtigem CSS angezeigt

Hi

Ich füge per js einem element über nodes neue elemente hinzu. diese elemente sollen wie im stylesheet definiert dargestellt werden (class="subMenuItem", etc.). Funtzt aber net. Wenn ich den erzeugten code direkt anzeige (neue seite mit selbem stylesheet), dann stimmts. anscheinend wird die formatierung nicht berücksichtigt. Hat jemand einen tip?

danke

function openMenu(a_menu) {
  // Find menu entry in array and check for submenus
  var l_menuID = a_menu.getAttribute("ID");
  if (m_menu.hasItem(l_menuID)) {
    var l_menuItem = m_menu.getItem(l_menuID);
    var l_menuDiv = document.createElement("div");
    l_menuDiv.setAttribute("class", "subMenu");
    l_menuDiv.appendChild(createMenuEntry(l_menuItem));
    a_menu.appendChild(l_menuDiv);
  }
}

function createMenuEntry(a_item) {
   var l_subEntry = document.createElement("div");
   l_subEntry.setAttribute("class", "subMenuEntry");
   l_subEntry.setAttribute("class", "subMenuEntry");
   l_subEntry.setAttribute("onClick", a_item.url);
   if (a_item.hasItems()) {
     l_subEntry.setAttribute("onMouseOver", "openMenu(this)");
     l_subEntry.setAttribute("onMouseOut", "closeMenu(this)");
   }
   var l_nodeData = document.createTextNode(a_item.title);
   l_subEntry.appendChild(l_nodeData);
   return l_subEntry;
}

  1. Hallo,

    l_subEntry.setAttribute("class", "subMenuEntry");
       l_subEntry.setAttribute("class", "subMenuEntry");

    warum zweimal?
    Ich benutze hier: l_subEntry.className="subMenuEntry" .

    Gruß, Jürgen

    1. Danke, das wars :-)

      className hat funktioniert. der doppeleintrag war nur ein versehen.

      gruss matthias

      Hallo,

      l_subEntry.setAttribute("class", "subMenuEntry");
         l_subEntry.setAttribute("class", "subMenuEntry");
      warum zweimal?
      Ich benutze hier: l_subEntry.className="subMenuEntry" .

      Gruß, Jürgen