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 Element
cá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-transform
và white-space
quy 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
innerText
sẽ trả về textContent
các phần tử không bao giờ được hiển thị như thế nào <style />
và `
- Tài sản của
Node
cá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
Node
cá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, x
trả về một đối tượng HTMLDivE bổ sung , không có thuộc value
tính được xác định.
x.value // => null
Các thẻ đầu vào ( <input />
), ví dụ, xác định một thuộc value
tí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.