Zugriff über firstChild

Hallo,
normalerweise habe ich mir bei solchen geringfügigen Problem bis jetzt fast immer erfolgreich selbst geholfen, aber anscheinend steh ich in diesem Fall i-wie komplett auf der Leitung.

Also: Ich möchte eigendlich ganz simpel per getElementById() (in diesem Fall ist es einfach this) auf den Kindknoten eines Tags zugreifen z.B so:

Code:
<div id="upload" style="border:1px solid black;" onClick="alert(this.firstChild.tagName);">
	<div>hallo</div>
	<div>hallo1</div>
	<div>hallo2</div>
</div>

allerdings geben mir FF und Opera darauf nur ein undefined zurück, während ich beim IE wie gewünscht die Ausgaben DIV erhalte.

thx cya Lük
 
Offenbar behandeln FF und Opera den enthaltenen Whitespace (die Zeilenumbrüche) ebenfalls als Child-Nodes, und zwar vom Typ #text.

Abhängig davon, was du nun eigentlich vorhast, könntest du also entweder die Umbrüche entfernen oder dir eine kleine Funktion basteln, die für alle Child-Nodes erstmal prüft, ob das HTML-Elemente oder Textknoten sind.
 
Habs doch noch vorhin in Selfhtml gefunden (http://de.selfhtml.org/javascript/objekte/node.htm#child_nodes_whitespace) aber trotzdem vielen dank.

Abhängig davon, was du nun eigentlich vorhast, könntest du also entweder die Umbrüche entfernen oder dir eine kleine Funktion basteln, die für alle Child-Nodes erstmal prüft, ob das HTML-Elemente oder Textknoten sind.

Da bei meinem Vorhaben ohnehin alle childNodes erst per DOM eingefügt werden, kann ich mir das sparen.

cya Lük
 
Zurück
Oben