mit firstChild daten erheben
Trautmann
- javascript
Hiho
ich möchte den Inhalt eines <td>-Elements lesen und habe das bis jetzt mit firstChild.data gemacht.
Bis jetzt ist aber nur ein Wort im <td>-Element gestanden welches ohne Probleme ausgelesen werden konnte.
Jetzt hab ich haber ein <span>-Element eingefügt (um die Schriftfarbe zu ändern) und wenn ich jetzt mit firstChild.data abfrage kommt immer nur undefined(laut firebug).
Was mache ich falsch? Ich werd aus der Erklärung von firstChild hier auch ned wirklich schlau...
also hier das beispiel so ungf.:
<td id="3">hallo</td>
...
var inhalt =document.getElementById(3).firstChild.data;
//funktioniert
<td id="4"><span style='color:White'>hallo</span></td>
...
var inhalt =document.getElementById(4).firstChild.data;
//funktioniert nicht
danke schon jetzt
mfg
Trautmann
In diesem Fall musst Du entweder alle Kinder parsen oder benutzt innerHTML.
Gruß, LX
Hi,
Jetzt hab ich haber ein <span>-Element eingefügt (um die Schriftfarbe zu ändern) und wenn ich jetzt mit firstChild.data abfrage kommt immer nur undefined(laut firebug).
Was mache ich falsch?
Du fragst die .data-Eigenschaft eines nicht-Textknotens ab - da darf also nur undefined zurueckkommen.
Ich werd aus der Erklärung von firstChild hier auch ned wirklich schlau...
In wie fern denn bitte nicht?
<td id="4"><span style='color:White'>hallo</span></td>
...
var inhalt =document.getElementById(4).firstChild.data;//funktioniert nicht
Doch, "funktioniert", im Sinne von "works as designed".
MfG ChrisB
Du fragst die .data-Eigenschaft eines nicht-Textknotens ab - da darf also nur undefined zurueckkommen.
also soll ich die .data-Eigenschaft vom <span> abfragen?
oder gibt es eine Möglichkeit es über <td> herauszubekommen.
Hi,
Du fragst die .data-Eigenschaft eines nicht-Textknotens ab - da darf also nur undefined zurueckkommen.
also soll ich die .data-Eigenschaft vom <span> abfragen?
Nein, das machst du ja derzeit bereits - und es liefert, wie erklaert, natuerlich nicht das gewuenschte.
oder gibt es eine Möglichkeit es über <td> herauszubekommen.
Viele Wege fuehren nach Rom.
MfG ChrisB
Hi,
also soll ich die .data-Eigenschaft vom <span> abfragen?
nein, die von td.getElementsByTagName("span")[0].firstChild.data
denn der Text ist nun das erste Kind des span Elementes, vorausgesetzt es gibt keinen Zeilenumbruch dazwischen, den IE als auch als node interpretieren würde.
Gruesse, Joachim
Hi,
Jetzt hab ich haber ein <span>-Element eingefügt (um die Schriftfarbe zu ändern) und wenn ich jetzt mit firstChild.data abfrage kommt immer nur undefined(laut firebug).
zwischen Dir und dem first.Child steht nun ja auch ein span - dessen first.Child der gewünschte Text ist. Übrigens Vorsicht bei dieser Vorgehensweise, denn in manchen Browsern sind auch Zeilenumbrüche nodes, daher solltest Du besser den span referenzieren und innerHTML auslesen.
Gruesse, Joachim