Có thể bạn sẽ muốn thử textContent
thay vì innerHTML
.
Cho innerHTML
sẽ trả về nội dung DOM dưới dạng String
và không chỉ là "văn bản" trong div
. Sẽ tốt nếu bạn biết rằng div
chỉ chứa văn bản nhưng không phù hợp nếu mọi trường hợp sử dụng. Đối với những trường hợp này, có thể bạn sẽ phải sử dụng textContent
thay vì innerHTML
Ví dụ, xem xét các đánh dấu sau:
<div id="test">
Some <span class="foo">sample</span> text.
</div>
Bạn sẽ nhận được kết quả sau:
var node = document.getElementById('test'),
htmlContent = node.innerHTML,
// htmlContent = "Some <span class="foo">sample</span> text."
textContent = node.textContent;
// textContent = "Some sample text."
Xem MDN để biết thêm chi tiết:
'.textContent' không được hỗ trợ trong IE8 trở xuống, điều này khiến cho việc sử dụng phần mềm khó sử dụng. – Blender
Đúng. Indead, 'innerHTML' không chỉ trả lại nội dung văn bản theo yêu cầu trong câu hỏi. Tôi muốn thực hiện một giải pháp dựa trên phát hiện tính năng '.textContent' với một dự phòng cho
dhar
Mặc dù một câu hỏi cũ hơn, _.textContent_ là câu trả lời phù hợp hơn cho thế giới ngày nay. – Donovan