André Laugks: DOM - childNodes - browserspezifisches Verhalten

Beitrag lesen

Hallo!

Z.B. die <li>-Elemente unterhalb einer <ul>-Elementes mit der id='element' ?

<ul id="element">
<li>Eintrag 1
<li>Eintrag 2
<li>Eintrag 3
</ul>

besser so:

<ul id="element">
  <li>Eintrag 1</li>
  <li>Eintrag 2</li>
  <li>Eintrag 3</li>
</ul>

Man arbeitet am besten mit getElementsByTagName().

Folgendes würde Dir bei Deinem Beispiel "3" zurück liefern:

document.getElementById('element').getElementsByTagName('li').length;

Mit

liste = document.getElementById('element')getElementsByTagName('li');
for(i = 0; i < liste.length; i++)
  {
    alert(liste[i].firstChild.nodeValue);
  }

würdest Du den Textknoten jedes li's ausgegeben bekommen.

Hier ist doch nach jedem Listenpunkt ein Umbruch (oder?)
Mein Firefox gibt trotz Umbrüchen die korrekte Anzahl (3) von childnodes an ...

Weil vielleicht Dein HTML falsch war?! Das gibt es ja keine schließenden li's. Deshalb wird der Mozilla auch keine Textknoten für jeden Listeneintrag generiert haben.

MfG, André Laugks

--
L-Andre @ gmx.de