Saya perlu cara untuk menentukan jenis elemen HTML dalam JavaScript. Ini memiliki ID, tetapi elemen itu sendiri bisa berupa <div>
, <form>
bidang, a <fieldset>
, dll. Bagaimana saya bisa mencapai ini?
Saya perlu cara untuk menentukan jenis elemen HTML dalam JavaScript. Ini memiliki ID, tetapi elemen itu sendiri bisa berupa <div>
, <form>
bidang, a <fieldset>
, dll. Bagaimana saya bisa mencapai ini?
Jawaban:
nodeName
adalah atribut yang Anda cari. Sebagai contoh:
var elt = document.getElementById('foo');
console.log(elt.nodeName);
Perhatikan bahwa nodeName
mengembalikan nama elemen dengan huruf kapital dan tanpa tanda kurung sudut, yang berarti bahwa jika Anda ingin memeriksa apakah suatu elemen adalah <div>
elemen, Anda dapat melakukannya sebagai berikut:
elt.nodeName == "DIV"
Meskipun ini tidak akan memberi Anda hasil yang diharapkan:
elt.nodeName == "<div>"
if (elt.nodeName && elt.nodeName.toLowerCase() === 'div') { ... }
localName
?
Bagaimana dengan element.tagName
?
Lihat juga tagName
dokumen di MDN .
Anda dapat menggunakan inspeksi kode umum melalui instanceof
:
var e = document.getElementById('#my-element');
if (e instanceof HTMLInputElement) {} // <input>
elseif (e instanceof HTMLSelectElement) {} // <select>
elseif (e instanceof HTMLTextAreaElement) {} // <textarea>
elseif ( ... ) {} // any interface
Lihat di sini untuk daftar lengkap antarmuka.