getElementsByTagName innerhalb innerHTML?

gorgel

Grünschnabel
Hallo zusammen,

ich habe vor, aus einem ellenlangen Quelltext den Inhalt mehrerer span-Tags auszulesen. Allerdings nur der span-Tags innerhalb eines div-Tags mit bestimmter ID.
Was mir vorschwebte ist folgendes:
> getElementById('id').innerHTML.getElementsByTagName('span').innerText <

Dadurch erhoffe ich mir, ein Array mit dem reinen Textinhalt aller span-Tags des div-Tags zu füllen.
Aber anscheinend kann ich auf innerHTML kein weiteres getElementsBy... anwenden, zumindest funktioniert es bei mir nicht.

Weiß da jemand mehr oder kann mir einen alternative Lösungsweg aufzeigen?

Danke und Gruß
gorgel
 
Du hast mehrere Fehler gemacht. innerHTML liefert einen String und die String Klasse hat keine Methode "getElementsByTagName". Außerdem liefert "getElementsByTagName" ein Array, welches wiederrum keine "innerText" Eigenschaft hat.

Hier mal ein Beispiel

Javascript:
var spans = document.getElementById('foo').getElementsByTagName('span');
var inhalte = [];

for(var i=0; i<spans.length; i++) {
	inhalte.push((spans[i].textContent || span[i].innerText));
}
 
Vielen Dank für die Erklärung! 2 Fragen habe ich noch:
1. Warum ".textContent || .innerText"? Gibt es da Unterschiede?
2. Wo finde ich eine JS-API, die mir auch mal sagt, welche Methode welchen Rückgabetyp hat, ohne dass ich immer nach Try&Error programmieren und auf Foren etc zurückgreifen muss? :)

Schönen Tag noch
und lieben Gruß

gorgel
 
1. Warum ".textContent || .innerText"? Gibt es da Unterschiede?

Firefox z.B. kennt kein "innerText", dafür aber "textContent". Ich habe es nicht überall getestet, aber so sollte immer der korrekte Wert gelesen werden. Hab übrigens hier
Code:
span[i].innerText
noch ein "s" vergessen.

2. Wo finde ich eine JS-API, die mir auch mal sagt, welche Methode welchen Rückgabetyp hat, ohne dass ich immer nach Try&Error programmieren und auf Foren etc zurückgreifen muss? :)

Ich denke viele Leute verwenden als API Referenz SelfHTML
http://de.selfhtml.org/javascript/objekte/index.htm
 
Dann benötige ich "textContent" nicht, da ich ein Win7-Gadget programmiere und dieses per ActiveX den IE als Browser nutzt.
Danke nochmal, ich werde mich jetzt mal etwas mehr mit SelfHTML beschäftigen.

Schönes Wochenende
gorgel
 
Zurück