Hallo steffen.
http://de.selfhtml.org/javascript/objekte/node.htm#last_child
s/L/l
Wenn ich hiervon den HTML code so schreibe:
<ul>
<li>erster Punkt</li>
<li>zweiter Punkt</li>
</ul>
>
> anstatt
>
> `<ul><li>erster Punkt</li><li>zweiter Punkt</li></ul>`{:.language-html}
>
> Wird mir schon nichts mehr angezeigt. Wieso?
Weil bei obigem der letzte Kindknoten ein Textknoten ist, und zwar ein Zeilenumbruch. Jedoch nicht alle Browser reagieren gleich. Bei manchen ist es egal, ob sich zwischen Elementknoten noch Whitespaces befinden, oder nicht.
> Gleich noch eine Frage:
>
> ~~~html
<ul>
> <li>erster Punkt</li>
> <li>zweiter Punkt</li>
> <li>dritter Punkt</li>
> </ul>
wie spreche ich diesen <li>zweiter Punkt</li> kindknoten an?
Grundsätzlich kannst du sämtliche Elemente per getElementsByTagName ansprechen. Jedes Elementobjekt sowie das Objekt „document“ verfügen über diese Methode. Zugriff auf das zweite Listenelement könntest du dir also wie folgt holen:
var ul = document.getElementsByTagName('ul')[0]; // Die Liste
var li2 = document.getElementsByTagName('li')[1]; // Das Listenelement
alert(li2.firstChild.nodeValue); // zweiter Punkt
Einen schönen Sonntag noch.
Gruß, Mathias
--
sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
„It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
[HTML Design Constraints: Logical Markup]
sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
„It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
[HTML Design Constraints: Logical Markup]