Contoh di bawah ini merujuk ke cuplikan HTML berikut:
<div id="test">
Warning: This element contains <code>code</code> and <strong>strong language</strong>.
</div>
Node akan dirujuk oleh JavaScript berikut:
var x = document.getElementById('test');
element.innerHTML
Menyetel atau mendapatkan sintaks HTML yang menjelaskan turunan elemen
x.innerHTML
// => "
// => Warning: This element contains <code>code</code> and <strong>strong language</strong>.
// => "
Ini adalah bagian dari Spesifikasi Parsing dan Serialisasi DOM W3C . Perhatikan itu milik Element
benda.
node.innerText
Menetapkan atau mendapatkan teks antara tag awal dan akhir objek
x.innerText
// => "Warning: This element contains code and strong language."
innerText
diperkenalkan oleh Microsoft dan untuk sementara tidak didukung oleh Firefox. Pada bulan Agustus 2016, innerText
telah diadopsi oleh WHATWG dan ditambahkan ke Firefox di v45.
innerText
memberi Anda representasi sadar-gaya dari teks yang mencoba mencocokkan apa yang dirender oleh browser ini artinya:
innerText
berlaku text-transform
dan white-space
aturan
innerText
memotong ruang putih di antara garis dan menambahkan jeda baris di antara item
innerText
tidak akan mengembalikan teks untuk item yang tidak terlihat
innerText
akan kembali textContent
untuk elemen yang tidak pernah dirender seperti <style />
dan `
- Properti
Node
elemen
node.textContent
Mendapat atau menetapkan konten teks dari sebuah node dan turunannya.
x.textContent
// => "
// => Warning: This element contains code and strong language.
// => "
Meskipun ini adalah standar W3C , itu tidak didukung oleh IE <9.
- Tidak mengetahui gaya dan karenanya akan mengembalikan konten yang disembunyikan oleh CSS
- Tidak memicu reflow (karena itu lebih banyak performan)
- Properti
Node
elemen
node.value
Ini tergantung pada elemen yang Anda targetkan. Untuk contoh di atas, x
mengembalikan objek HTMLDivElement , yang tidak memiliki value
properti yang ditentukan.
x.value // => null
Tag input ( <input />
), misalnya, mendefinisikan value
properti , yang merujuk pada "nilai saat ini dalam kontrol".
<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>
Dari dokumen :
Catatan: untuk jenis input tertentu, nilai yang dikembalikan mungkin tidak cocok dengan nilai yang dimasukkan pengguna. Misalnya, jika pengguna memasukkan nilai non-numerik ke dalam <input type="number">
, nilai yang dikembalikan mungkin berupa string kosong.
Contoh Script
Berikut ini contoh yang menunjukkan output untuk HTML yang disajikan di atas:
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
, implementasi textContext yang tidak standar oleh MSIE, adalah non-sepele.