#1 20. Oktober 2010 Habe nochmal ein HTML Dom Problem zur Navigation durch die Nodes in einem HTML Dokument: HTML: <div id="navBarHor"> <ul class="navBarHor1"> <li class="navBarHor1"><a href="http://www.xkcd.com" class="navBarHor1">Nummer eins</a></li> <li class="navBarHor1"><a href="http://www.xkcd.com" class="navBarHor1">XKCD</a></li> <li class="navBarHor1"><a href="http://www.xkcd.com" class="navBarHor1">Best Web Comic</a></li> </ul> </div> JAVASRIPT: function testThis() { x = document.getElementById("navBarHor").firstChild.nodeName; document.write(x); } Nun, wenn ich das firstChild rauslasse gibt er mir "DIV" zurück wenn ich die Funktion aufrufe, wenn ich es einbaue bekomme ich "#text". Das liegt wohl daran, dass ich nach dem div starttag mindestens ein Leerzeichen habe. Frage: kann man es irgenwie so bewerkstelligen, dass der Code funktioniert egal ob ich zwischen dem <div> und dem <ul> ein Leerzeichen / einen Zeilenumbruch habe oder nicht? Würde mir die Addressierung der Nodes deutlich leichter machen. Falls es so eine Möglichkeit nicht gibt bin ich auch über negative Antworten bzw. Alternativvorschläge sehr glücklich. Gruß, gen + Multi-Zitat Zitieren
#2 20. Oktober 2010 AW: Javascript Node Navigation Code: function testThis() { var d = document.getElementById("navBarHor"), x = d.firstChild; if(x.nodeName == '#text') for(var i = 1, l = d.childNodes.length; i < l && x.nodeName == '#text'; ++i) x = d.childNodes[i]; document.write(x.nodeName); } + Multi-Zitat Zitieren
#3 20. Oktober 2010 AW: Javascript Node Navigation Hmmm und das bei jedem mal wenn ich so eine Funktion schreibe? Definitiv nicht was ich gesucht habe, aber ich vermute dann gibt es nichts einfacheres. Danke dir. Gruß, gen + Multi-Zitat Zitieren
#4 20. Oktober 2010 AW: Javascript Node Navigation HTML: <div id="navBarHor"> <ul class="navBarHor1"> <li class="navBarHor1"><a href="http://www.xkcd.com" class="navBarHor1">Nummer eins</a></li> <li class="navBarHor1"><a href="http://www.xkcd.com" class="navBarHor1">XKCD</a></li> <li class="navBarHor1"><a href="http://www.xkcd.com" class="navBarHor1">Best Web Comic</a></li> </ul> </div> <script type="text/javascript"> function testThis(suchNodeName, inEl) { var d = document.getElementById(inEl), x = d.firstChild; while (x.nodeName != suchNodeName.toUpperCase()){ x = x.firstChild; } document.write(x.nodeName); } testThis('li', 'navBarHor'); </script> was meinst du mit jedes mal? pack die function in ein JS-file und binde das in dein html ein. + Multi-Zitat Zitieren
#5 20. Oktober 2010 AW: Javascript Node Navigation Danke sehr Mit dem anderen Code konnte ich das Problem nicht auf andere Stellen übertragen ohne die Funktion neu zu schreiben. Mit Parametern ist das schon was anderes. Danke sehr BW für beide sind raus? Gruß, gen + Multi-Zitat Zitieren