Các ví dụ dưới đây đề cập đến đoạn mã HTML sau:
<div id="test">
Warning: This element contains <code>code</code> and <strong>strong language</strong>.
</div>
Nút sẽ được tham chiếu bởi JavaScript sau:
var x = document.getElementById('test');
element.innerHTML
Đặt hoặc lấy cú pháp HTML mô tả hậu duệ của phần tử
x.innerHTML
// => "
// => Warning: This element contains <code>code</code> and <strong>strong language</strong>.
// => "
Đây là một phần của Đặc tả phân tích và tuần tự hóa DOM của W3C . Lưu ý đó là một tài sản của Elementcác đối tượng.
node.innerText
Đặt hoặc lấy văn bản giữa các thẻ bắt đầu và kết thúc của đối tượng
x.innerText
// => "Warning: This element contains code and strong language."
innerTextđược Microsoft giới thiệu và trong một thời gian không được Firefox hỗ trợ. Vào tháng 8 năm 2016, innerTextđã được WHATWG thông qua và được thêm vào Firefox vào năm 45.
innerText cung cấp cho bạn một văn bản, đại diện cho văn bản cố gắng khớp với những gì được trình duyệt hiển thị trong điều này có nghĩa là:
innerTextáp dụng text-transformvà white-spacequy tắc
innerText cắt khoảng trắng giữa các dòng và thêm ngắt dòng giữa các mục
innerText sẽ không trả lại văn bản cho các mục vô hình
innerTextsẽ trả về textContentcác phần tử không bao giờ được hiển thị như thế nào <style />và `
- Tài sản của
Nodecác yếu tố
node.textContent
Gets hoặc đặt nội dung văn bản của một nút và hậu duệ của nó.
x.textContent
// => "
// => Warning: This element contains code and strong language.
// => "
Mặc dù đây là tiêu chuẩn W3C nhưng nó không được IE <9 hỗ trợ.
- Không biết về kiểu dáng và do đó sẽ trả về nội dung bị ẩn bởi CSS
- Không kích hoạt một dòng chảy lại (do đó hiệu suất cao hơn)
- Tài sản của
Nodecác yếu tố
node.value
Điều này phụ thuộc vào yếu tố mà bạn đã nhắm mục tiêu. Đối với ví dụ trên, xtrả về một đối tượng HTMLDivE bổ sung , không có thuộc valuetính được xác định.
x.value // => null
Các thẻ đầu vào ( <input />), ví dụ, xác định một thuộc valuetính , tham chiếu đến "giá trị hiện tại trong điều khiển".
<input id="example-input" type="text" value="default" />
<script>
document.getElementById('example-input').value //=> "default"
// User changes input to "something"
document.getElementById('example-input').value //=> "something"
</script>
Từ các tài liệu :
Lưu ý: đối với một số loại đầu vào, giá trị trả về có thể không khớp với giá trị mà người dùng đã nhập. Ví dụ: nếu người dùng nhập một giá trị không phải là số vào một <input type="number">, thay vào đó giá trị được trả về có thể là một chuỗi rỗng.
Kịch bản mẫu
Đây là một ví dụ cho thấy đầu ra cho HTML được trình bày ở trên:
var properties = ['innerHTML', 'innerText', 'textContent', 'value'];
// Writes to textarea#output and console
function log(obj) {
console.log(obj);
var currValue = document.getElementById('output').value;
document.getElementById('output').value = (currValue ? currValue + '\n' : '') + obj;
}
// Logs property as [propName]value[/propertyName]
function logProperty(obj, property) {
var value = obj[property];
log('[' + property + ']' + value + '[/' + property + ']');
}
// Main
log('=============== ' + properties.join(' ') + ' ===============');
for (var i = 0; i < properties.length; i++) {
logProperty(document.getElementById('test'), properties[i]);
}
<div id="test">
Warning: This element contains <code>code</code> and <strong>strong language</strong>.
</div>
<textarea id="output" rows="12" cols="80" style="font-family: monospace;"></textarea>
innerText, việc triển khai textContext không chuẩn của MSIE, là không tầm thường.