EightBitWitch: Display='Block' für A-Tag bei IE

Beitrag lesen

Hier die Struktur:

ul
  li                                      #0
    a
      #text
    #text
    strong                                #3
      sub
        a
          #text
    #text                                 #4
    a          <------ da musste ich ran. #1
      #text                               #2

Ich finde deine "Struktur" nicht hilfreich. Wir reden doch von einer HTML Struktur, oder?
Wie bekommst du da zwei Textknoten hintereinander hin?

Das ist die Struktur(ansicht) wie sie der DOM-Inspector geliefert hat.

wenn ich das richtig verstehe müßtest du sowas haben:

<ul>
<li>
<a ...> text </a>
text
<strong>
<sub>
<a ...> text </a>
text
<a ...> text </a>
</sub></strong>
</li>
...
</ul>

Genau. Ich fand das andere aber übersichtlicher.

Da ist die Frage welche Logik ist dahinter?
Willst du den 3. Anker in einem li-Element?
Dann geht so etwas
document.getElementsByTagName('li')[index].getElementsByTagName('a')[2];

Genau das ging beim IE, aus welchem Grund auch immer nicht. (*1)

oder suchst du den 2. Anker in einem sub-Element

Wenn du die für dich nicht hilfreiche Struktut mal genau angesehen hättest, dann hättest du erkannt, wo ich kann will/muss. Es ist steh dort sogar im Klartest.

document.getElementsByTagName('li')[index].getElementsByTagName('sub')[0].getElementsByTagName('a')[1];

Ich würde nicht mit Nodes und Childes arbeiten, da die Browser zuviele Unterschiede machen was ein Child ist und was nicht.

*1)
Wenn du dir dir Mühe gemacht hättest alles zu lesen, was hier vor deinem Posting geschrieben wurde, dann hättest du sicherlich bemerkt, das ich das für den IE4-7 und den Rest der Browserwelt jeweils anders gelöst habe, wie ja auch auch dem Sourcecode meines Funktion hervorgeht. Und das war auch nicht meine

Struppi.

Mein ursprüngliche Frage war allerdings auch eine ganz andere - bitte nochmal von vorne lesen.
Die Diskussion über getElementDINGSBUMS1/DINGSBUMS2 oder childNodes ist für meine eigentlich Frage wenig hilfreich und für mich auch recht zeitraubend.
Warum kann man sich hier nicht auf meine ursprüngliche Frage beziehen?
Ok, vielleicht verstehe ich ja was falsch, aber eine gewisse Zielstrebigkeit könnte helfen und würde auch zu echten Ergebissen führen.

Trotzdem danke für deinen Betrag.

PS.
Wenn ich mich eben im Ton vergriffen haben sollt, bitte ich das zu erschuldigen. Aber diese fruchtlosen Diskussionen regen mich wirklich auf und kosten einfach nur Zeit.
Vielleicht sollte ich solche Antworten in Zukunft einfach ignorieren, was ich aber auch als unhöflichen empfinden würde.