2014-12-22 12 views
9

tôi đang cố gắng để có được những văn bản bên trong p thẻLàm thế nào nhận được văn bản bên trong một đoạn văn với JavaScript

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

Và tôi muốn để lưu trữ các văn bản trong biến JavaScript như thế này

var text = "Some text"; 

Tôi đọc rằng tôi phải thêm

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

Nhưng giá trị của biến là NULL hoặc Chưa xác định và tôi cũng thích điều này

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

Và tôi đã có cùng một vấn đề!

Trả lời

15

Trong ví dụ của bạn, bạn đang sử dụng tên tài sản không đúng, phải innerHTML (lưu ý - trường hợp nhạy cảm HTML không Html) không innerHtml

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

Bạn có lẽ nên sử dụng .textContent để có được văn bản để đảm bảo bạn không nhận được đánh dấu bổ sung trong biến văn bản của mình.

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

innerHTML trả về HTML như tên gọi của nó. Khá thường xuyên, để truy xuất hoặc viết văn bản trong một phần tử, mọi người sử dụng innerHTML. textContent nên được sử dụng thay thế. Vì văn bản không được phân tích cú pháp dưới dạng HTML nên có khả năng có hiệu suất tốt hơn. Hơn nữa, điều này tránh được một vector tấn công XSS.

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

Các vấn đề liên quan