2013-09-22 10 views
7

Sto scrivendo qualche javascript per essere eseguito in un bookmarklet che dovrebbe ottenere il testo all'interno di un elemento che ha un nome di classe determinato.Ottieni testo in getElementsByClassName

Così, per esempio

document.getElementsByClassName('price') 

in cui la pagina web ha o esempio

<span class="price"> 

    £23 

</span> 

Come potrei fare per ottenere il testo effettivo all'interno l'elemento che ha un prezzo nome della classe (cioè £ 23 nell'esempio sopra).

+1

Se avete solo uno di loro andare avanti fare .. 'document.getElementsByClassName ('prezzo') [0] .innerHTML' altrimenti ciclo attraverso la raccolta e ottieni quello che ti serve. – PSL

risposta

13

getElementsByClassName restituisce un array di elementi. Attraversare quella matrice e ottenere la proprietà innerText di ciascuno. Per esempio:

var priceEls = document.getElementsByClassName("price"); 
for (var i = 0; i < priceEls.length; i++) { 
    var price = priceEls[i].innerText; 
    alert("Price: " + price); 
} 

demo dal vivo: http://jsfiddle.net/YQsBW/

Problemi correlati