2014-12-22 26 views
9

Sto cercando di ottenere il testo all'interno di p tagCome ottenere il testo all'interno di un paragrafo con JavaScript

<p id="paragraph">Some text</p> 

e voglio memorizzare il testo nella variabile JavaScript come questo

var text = "Some text"; 

ho letto che devo aggiungere

var text = document.getElementById("paragraph").innerHtml; 

Ma il valore della variabile è null o undefined e ho fatto anche in questo modo

var text = document.getElementById("paragraph")[0].innerHtml; 

E ho avuto lo stesso problema!

risposta

15

Nel tuo esempio si utilizza nome di proprietà non corretta, deve essere innerHTML (nota - caso sensibilità HTML non Html) non innerHtml

var text = document.getElementById("paragraph").innerHTML 
                ^^^^ 
4
var text = document.getElementById("paragraph").innerHTML; 
3

Probabilmente si dovrebbe usare .textContent per ottenere il testo per assicurarti di non ottenere il markup extra nella tua variabile di testo.

var paragraph = document.getElementById("paragraph"); 
var text = paragraph.textContent ? paragraph.textContent : paragraph.innerText;//IE uses innerText 

innerHTML restituisce il codice HTML come indica il nome. Molto spesso, per recuperare o scrivere testo all'interno di un elemento, le persone usano innerHTML. al suo posto dovrebbe essere usato textContent. Poiché il testo non viene analizzato come HTML, è probabile che abbia prestazioni migliori. Inoltre, questo evita un vettore di attacco XSS.

https://developer.mozilla.org/en-US/docs/Web/API/Node.textContent

Problemi correlati