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

Beitrag lesen

Hi,

--------A----------------------------
.childNodes[4].style.display='block';

Sicher?
IE zählt bei den childNodes whitespace zwischen Elementen nicht mit, Firefox schon (oder war's umgekehrt?)

cu,
Andreas

Bei mir klappt das so. Ich habe für den IE und den Rest der Browserwelt jeweils andere Art, um auf das gewünschte Element zuzugreifen.

Hier die Struktur:

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

An der Punkt #1 musste ich ran um die gewünschten Änderung vornehmen zu können. Mit FF, Opera und Safari3(win) ging das von #0 ausgehend mit #0.lastChild. Der IE7 liefert bei #0.lastChild #2 und nicht #1 als Zielelement. Ich sehe das als Fehler im IE7 an.
Ich komme beim IE7 aber mit #0.childNodes[4].

#0,#1,#2,#3 und #4 sind syntaktisch natürlich nicht richtig und hier nur zur Verdeutlichung verwendet worden.

Lustig wird es, wenn mam bei IE7 versucht #3 per #0.firstChild.nextsibling.nextsibling zu erreichen. Das geht beim IE7 nämlich nicht. IE7 liefert dann #4 zurück.
Ich habe mir mal die nodeName(s) der einzelnen Elemente ausgeben lassen.
#0.firstChild.nodeName                                                  A
#0.firstChild.nextSibling.nodeName                                      A #TEXT
#0.firstChild.nextSibling.nextSibling.nodeName                          A #TEXT A (müsste A #TEXT STRONG sein)
#0.firstChild.nextSibling.nextSibling.nextSibling.nodeName              A #TEXT A #TEXT
#0.firstChild.nextSibling.nextSibling.nextSibling.nextSibling.nodeName  A #TEXT STRONG #TEXT A (erst jetzt taucht STRONG auf)
                                                                        Hier kommt dann vom IE7 auch noch die Fehlermeldung "Objekt erforderlich",
                                                                        die nicht kommen dürfte, denn es wird das erste Kind und kann am Ende der
                                                                        vierte Nachbar (als letzte A-Tag) adressiert.

Ist diese Verhalten des IE7 schon jemanden bekannt?

An die Forum-Admins:
Wenn das hier als neuer Beitrag/anderes Thema angesehen werden sollte oder als wichtig angesehen wird, dann macht bitte ein neues Thema/Beitrag daraus