Genei: Javascript getElementById()

Hi nochmal so jetzt hab ich a bissel mehr Zeit =)

also ich versuch nen Navigationsystem zu basteln und wollte wenn man ueber ein einen Hauptknoten kommt dass ein Untermenu sich öffnet ( openmenu () )

Bloss der fügt das zusammengebastelte TabellenElement nicht ein kann mir einer helfen ?
Ist die Zusammensetzung des Elementes korregt ?

THX

function OpenMenu(Index) {
         var myobj = eval(document.getElementById(Index));
         var Zeile = document.createElement("TR");
         var Spalte = document.createElement("TD");
         var divx = document.createElement("DIV");
         var Text = document.createTextNode("Hallo");
         divx.appendChild(Text);
         Spalte.appendChild(divx);
         Zeile.appendChild(Spalte);
         myobj.appendChild(Zeile);
}
<table id="ST" onmouseover="OpenMenu('ST');Makiere('ST');" onmouseout="Demakiere('ST')" border="1" cellspacing="0" cellpadding="5"><tr>
<td><div id="STMain">Steuerberatung</div></td>
</tr></table>
</td>

function Makiere(Index) {
         eval("document.all."+Index+".style.background = 'red'");

  1. hab überlegt .... document.write???
    noe geht nicht!
    warum???
    wegen den " und den ' oder gibts sonst noch zeichen für das??

    sorry hab keine ahnung wie sich das machen lässt, probie mal die " wegzulassen!

    lyrie

    1. habs selbst nochmal probiert kam aber nicht weiter
      hab mal den die NodeTypen ueberpruft z.b
      document.write(myobj.nodetyp) und bekam immer nur undefined zurueck auch bei zeile und spalte muessten doch aber vom typ table tr und td sein

      kann mir jmd weiterhelfn

      1. kann mir jmd weiterhelfn

        Wenn das nicht geht dann leider nein...

        1. hallo lyrie,

          kann mir jmd weiterhelfn
          Wenn das nicht geht dann leider nein...

          Dochdoch, das geht dann leider doch ;-)

          Aber nicht in diesem Thread hier, sondern in dem Thread, zu dem die Frage gehört.

          Grüße aus Berlin

          Christoph S.

          1. das war so gemeint:
            ich kann ihm nicht mehr helfen
            scherzbold :D

            lyrie

            1. hallo lyrie ;-)

              wow, du kannst sogar Smilies ...

              das war so gemeint:
              ich kann ihm nicht mehr helfen

              Ja, vielleicht war das so gemeint, aber es war nicht so gesagt. In einem öffentlichen Forum, und gerade in einem solchen wie dem SELFHTML-Forum, muß man mit Pauschalaussagen wie "das geht leider nicht" sehr vorsichtig sein. Es gibt unglaublich viele Sachen, dann eben doch irgendwie "gehen". Eine Pauschalaussage trifft allenfalls dann zu, wenn jemand in der httpd.conf seines Apache irgendwelches Javascript notiert und sich wundert, daß "es nicht geht".

              Eine Aussage: "da weiß ich nicht weiter, aber vielleicht weiß ja jemand anderes noch was" trifft es dann eher, und sie beschädigt dich auch nicht.

              Grüße aus Berlin

              Christoph S.

              1. Ich werde versuchen mir das zu merken

  2. hallo,

    Hi nochmal so jetzt hab ich a bissel mehr Zeit =)

    Schön für dich, aber daß du deswegen gleich einen neuen Thread aufmachst, bringt dir Minuspunkte. Du hast gerade erst um 19.04 Uhr einen Thread zum _selben_ Thema aufgemacht, also solltest du auch in _diesem_ Thread [pref:t=54780&m=304866] bleiben, wenn du Nachfragen hast.

    Heute gab es bereits mehrere Anläüsse, auf solche "Doppelpostings" zu verweisen. Ein Forum ist halt kein Chat, denk bitte daran.

    Grüße aus Berlin

    Christoph S.

  3. Hallo,

    warum fragst Du nicht hier: [pref:t=54780&m=304866] weiter?

    also ich versuch nen Navigationsystem zu basteln und wollte wenn man ueber ein einen Hauptknoten kommt dass ein Untermenu sich öffnet ( openmenu () )

    Bloss der fügt das zusammengebastelte TabellenElement nicht ein kann mir einer helfen ?
    Ist die Zusammensetzung des Elementes korregt ?

    THX

    function OpenMenu(Index) {
             var myobj = eval(document.getElementById(Index));

    wofür ist das eval() gut?

    var Zeile = document.createElement("TR");
             var Spalte = document.createElement("TD");
             var divx = document.createElement("DIV");
             var Text = document.createTextNode("Hallo");
             divx.appendChild(Text);
             Spalte.appendChild(divx);
             Zeile.appendChild(Spalte);
             myobj.appendChild(Zeile);

    Hier fehlt ein TBODY-Element. Jede Tabelle hat einen TBODY zu haben. Mit HTML erzeugt, hat sie ihn automatisch, mit DOM erzeugt, musst Du ihn mit einfügen.
    DOM:
    TABLE - TBODY - TR - TD - DIV - TextNode

    }

    Das steht aber hoffentlich nicht wirklich im Quelltext unmittelbar untereinander?

    <table id="ST" onmouseover="OpenMenu('ST');Makiere('ST');" onmouseout="Demakiere('ST')" border="1" cellspacing="0" cellpadding="5"><tr>
    <td><div id="STMain">Steuerberatung</div></td>
    </tr></table>
    </td>

    function Makiere(Index) {
             eval("document.all."+Index+".style.background = 'red'");

    wofür ist das eval() gut?
    document.getElementById(Index).style.background = 'red';

    viele Grüße

    Axel