Javascript/DOM: Attribut/Methode gesucht

  • Heu zusammen. Ich bin mich am doof suchen, finde aber irgendwie nix Gescheites.

    Ich machs kurz:


    Ich möchte jetzt ein alert haben, dass mir "3" (bzw. 2, wenn wir bei 0 anfangen) sagt, wenn ich Lisa anklicke. Oder gibt es wirklich keine Möglichkeit die Index-Nummer des Arrays heraus zu bekommen? Das nervt mich irgendwie bei fast allen Sprachen...

  • Könnt mir so vorstellen:

  • Lauffähige Version:

  • Jo, gut. Die Umständliche Version hab ich auch hinbekommen (wenn auch etwas anders). Hatte einfach gehofft, dass es dafür evtl. ein Child-Attribut gibt, dass man nur hätte auslesen müssen. : (

    Trotzdem Danke für Deine Mühe!

  • Sowas wäre mir nicht bekannt, man müsste sich mal alle Eigenschaften die so ein Javascript Objekt hat anschauen, z.B. im DOM Inspektor.

    Ansonsten könnte man sich mit previosSilbing auch auch immer weiter zurück hangeln im Index und mitzählen.

  • Code
    <parent>
     <child onclick="tellMe(0);">Hektor</child>
     <child onclick="tellMe(1);">Alfred</child>
     <child onclick="tellMe(2);">Lisa</child>
     <child onclick="tellMe(3);">Ellen</child>
    </parent>

    Ohne den Zusammenhang zu kennen... warum nummerierst du nicht bereits vor dem Aufruf und übergibst den Wert als Parameter?

    Edit: zu doof den Code einzufügen *grmpf*

  • Wenn du neue Kinder hinzufügst, wegnimmst, bzw. verschiebst, müsste ich dann für alle anderen den event-Handler anpassen, damit die Reihenfolge wieder stimmt. Das fand ich unschön. Zudem bin ich schlicht der Meinung, das ein Kind seine Stellung bei den Eltern kennen sollte. ; )

  • Zitat von bugcatcher

    Wenn du neue Kinder hinzufügst, wegnimmst, bzw. verschiebst, müsste ich dann für alle anderen den event-Handler anpassen, damit die Reihenfolge wieder stimmt. Das fand ich unschön. Zudem bin ich schlicht der Meinung, das ein Kind seine Stellung bei den Eltern kennen sollte. ; )

    Trete der DOM Working Group des w3c bei, oder werde Entwickler bei MS ^^
    Ein Browser könnte es letztendlich auch nicht anders implementieren.

  • Blah du Hirsch. ; )

    Klar dass ein Browser das auch so machen müsste. Die machen noch ganz umständlichere Dinge. Bin vielleicht zu sehr von PHP und Konsorten verwöhnt, die für jeden Driss ne fertige Funktion bieten.

    Ich muss unbedingt mal wieder mit C weitermachen. Richtig Old School quasi. Alles von Hand. ^^

  • Zitat von bugcatcher

    Blah du Hirsch. ; )

    Klar dass ein Browser das auch so machen müsste. Die machen noch ganz umständlichere Dinge. Bin vielleicht zu sehr von PHP und Konsorten verwöhnt, die für jeden Driss ne fertige Funktion bieten.

    Ich muss unbedingt mal wieder mit C weitermachen. Richtig Old School quasi. Alles von Hand. ^^

    C, *bähhhhh*


    Wer wird den die Kontrolle einem Compiler überlassen, man implementiert jede seiner Seiten natürlich in Maschinencode :D ist doch schön wenn man noch weis in welchem Register man seine Daten hat ^^

  • Zitat von bugcatcher

    Wenn du neue Kinder hinzufügst, wegnimmst, bzw. verschiebst, müsste ich dann für alle anderen den event-Handler anpassen, damit die Reihenfolge wieder stimmt. Das fand ich unschön. Zudem bin ich schlicht der Meinung, das ein Kind seine Stellung bei den Eltern kennen sollte. ; )

    Du könntest dem Child auch ein Attribut zuweisen, dass die Folgenummer enthält. Dies kannst du ebenfalls mit JS machen, also dynamisch und flexibel. So hättest du nur eine For-Schleife über die Childs und müsstest beim Auswerten nicht jedesmal die Stelle berechnen.

  • Hab ich gemacht, wollte es aber valide halten. Ist ja immer noch xhtml und nicht xml. Und da gabs kein order für <li>s. Wie so üblich gibts 100 Wege nach Rom, ich hab einen inzwischen. Noch mal Dank an alle Beteiligten.

    Orkan: du bist ekelig.

  • Zitat von boardraider

    Du könntest dem Child auch ein Attribut zuweisen, dass die Folgenummer enthält. Dies kannst du ebenfalls mit JS machen, also dynamisch und flexibel. So hättest du nur eine For-Schleife über die Childs und müsstest beim Auswerten nicht jedesmal die Stelle berechnen.

    Diese Methode würde sich auch nur lohnen wenn einfügen/verschieben/löschen deutlich seltener geschieht als der Aufruf des Events.