2016-06-18 3 views
0

Ich habe Probleme, mehrere Elemente mit dem gleichen Klassennamen aufzurufen, wenn Sie .innerhtml verwenden. Zum Beispiel mit der URL ich arbeite ist:Wie ruft man mehrere Elemente nach Klasse und .innerHTML auf?

https://www.amazon.com/s/ref=nb_sb_noss_2?url=search-alias%3Daps&field-keywords=hen

und wenn ich den folgenden Code in Chromkonsole eingeben ich:

document.getElementsByClassName('a-size-small a-color-secondary') 

<span class="a-size-small a-color-secondary">by </span> 
<span class="a-size-small a-color-secondary">Adore Plush Company</span> 
<span class="a-size-small a-color-secondary">Get it by <span class="a-color-success a-text-bold">Tuesday, Jun 21</span></span> 
... 
... 

Aber wenn ich ein: document.getElementsByClassName ('a -size-small a-color-secondary ') .innerHTML

Ich bekomme "undefined". Das Ziel ist, nur den Text zwischen den Span-Tags zu erhalten.

Kann mir jemand eine Anleitung geben? Ich habe es mit verschiedenen Variationen einschließlich var und selektiver Auswahl versucht. Es hat mit Selection für das erste Klassenelement funktioniert, aber mit SelectionAll überhaupt nicht funktioniert. Danke für jede Hilfe.

Antwort

0

document.getElementsByClassName ('a') gibt dem Objekt den Klassennamen.

zum Beispiel Klassenname ist ein und es gibt viele Spannweiten mit ein, dann müssen Sie die Spanne Wert erhalten durch den Index des Objekts

var x =document.getElementsByClassName('a'); 

console.log("value of spans"+x[0].innerHTML); 

COdepen- http://codepen.io/pen/

+0

console.log (x [mit 0] .innerHTML); schien nur für das erste Element zu arbeiten, ging aber nach undefiniert nach –

+0

Mike, zum Beispiel habe ich x [0], aber für alle Werte, können Sie Schleife dieses Objekt, zum Beispiel wie unten für (i = 0 ; i

+0

mein CodePen aktualisiert, hoffe, das funktioniert für Sie –