Saya mencoba ini tetapi menunjukkan "tidak ditentukan".
function test() {
var t = document.getElementById('superman').value;
alert(t); }
Apakah ada cara untuk mendapatkan nilai menggunakan Javascript sederhana no jQuery Please!
Jawaban:
Anda mungkin ingin mencoba textContentdaripada innerHTML.
Diberikan innerHTMLakan mengembalikan konten DOM sebagai Stringdan tidak secara eksklusif "teks" di div. Tidak apa-apa jika Anda tahu bahwa Anda divhanya berisi teks tetapi tidak cocok untuk setiap kasus penggunaan. Untuk kasus-kasus, Anda mungkin harus menggunakan textContentbukannyainnerHTML
Misalnya, dengan mempertimbangkan markup berikut:
<div id="test">
Some <span class="foo">sample</span> text.
</div>
Anda akan mendapatkan hasil sebagai berikut:
var node = document.getElementById('test'),
htmlContent = node.innerHTML,
// htmlContent = "Some <span class="foo">sample</span> text."
textContent = node.textContent;
// textContent = "Some sample text."
Lihat MDN untuk lebih jelasnya:
innerHTMLjangan hanya mengembalikan konten teks seperti yang diminta dalam pertanyaan. Saya akan menerapkan solusi berdasarkan .textContentdeteksi fitur dengan fallback untuk <IE9
Anda dapat menggunakan innerHTML(lalu mengurai teks dari HTML) atau menggunakan innerText.
let textContentWithHTMLTags = document.querySelector('div').innerHTML;
let textContent = document.querySelector('div').innerText;
console.log(textContentWithHTMLTags, textContent);
innerHTMLdan innerTextdidukung oleh semua browser (kecuali FireFox <44) termasuk IE6 .
Sebenarnya Anda tidak perlu memanggil document.getElementById()fungsi untuk mendapatkan akses ke file div.
Anda dapat menggunakan ini objectsecara langsung dengan id:
text = test.textContent || test.innerText;
alert(text);
.textContenttidak didukung di IE8 dan yang lebih rendah, yang membuatnya agak sulit untuk digunakan.