Rumah >hujung hadapan web >tutorial js >Apakah perbezaan antara `innerHTML`, `innerText`, `textContent` dan `value` dalam JavaScript?

Apakah perbezaan antara `innerHTML`, `innerText`, `textContent` dan `value` dalam JavaScript?

Linda Hamilton
Linda Hamiltonasal
2024-11-29 17:46:111040semak imbas

What are the differences between `innerHTML`, `innerText`, `textContent`, and `value` in JavaScript?

Menerokai Nuansa innerHTML, innerTeks dan nilai

Apabila bekerja dengan elemen dalam JavaScript, adalah penting untuk memahami perbezaan antara innerHTML, innerTeks, dan sifat nilai. Setiap satu mempunyai tujuan tertentu dan mempunyai ciri tersendiri.

innerHTML mewakili kandungan HTML dalam elemen. Ia termasuk semua elemen kanak-kanak, teks dan sebarang penanda HTML. Ia membolehkan kami mengubah suai struktur DOM secara dinamik dengan memasukkan, menggantikan atau mengalih keluar kod HTML. Contohnya:

document.getElementById('element').innerHTML = '<p>New content</p>';

innerText mendapatkan semula atau menetapkan kandungan teks antara teg pembuka dan penutup elemen. Ia sedar gaya dan mengetepikan sebarang teg HTML atau ruang kosong. Ini bermakna ia membentangkan versi "diberikan" teks elemen. Contohnya:

console.log(document.getElementById('element').innerText); // "Rendered text without HTML tags"

textContent menyimpan kandungan teks unsur dan semua keturunannya. Walau bagaimanapun, ia tidak menghiraukan sebarang sintaks atau penggayaan HTML dan menyediakan keseluruhan kandungan teks sebagai rentetan. Ia amat berguna apabila anda mahukan kandungan teks yang lengkap, termasuk teks tersembunyi atau ruang kosong. Contohnya:

console.log(document.getElementById('element').textContent); // "Complete text content, including whitespace"

nilai berbeza-beza bergantung pada jenis elemen. Untuk elemen input, ia mewakili input pengguna semasa. Untuk elemen terpilih, ia mengembalikan nilai pilihan yang dipilih. Untuk elemen yang tidak menentukan sifat nilai, ia biasanya mengembalikan null. Contohnya:

console.log(document.getElementById('input').value); // "User-entered value"

Untuk menggambarkan perbezaan antara sifat ini, pertimbangkan coretan HTML berikut:

<div>

Menjalankan kod JavaScript berikut:

console.log(document.getElementById('test').innerHTML);
console.log(document.getElementById('test').innerText);
console.log(document.getElementById('test').textContent);

akan menghasilkan output berikut:

"
Warning: This element contains <code>code</code> and <strong>strong language</strong>.
"
"Warning: This element contains code and strong language."
"
Warning: This element contains code and strong language.
"

Atas ialah kandungan terperinci Apakah perbezaan antara `innerHTML`, `innerText`, `textContent` dan `value` dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn