JavaScript'te bir HTML öğesinin türünü belirlemek için bir yol gerekir. Kimliği var, ancak öğenin kendisi bir <div>
, bir <form>
alan, bir <fieldset>
, vb. Olabilir. Bunu nasıl başarabilirim?
JavaScript'te bir HTML öğesinin türünü belirlemek için bir yol gerekir. Kimliği var, ancak öğenin kendisi bir <div>
, bir <form>
alan, bir <fieldset>
, vb. Olabilir. Bunu nasıl başarabilirim?
Yanıtlar:
nodeName
aradığınız özelliktir. Örneğin:
var elt = document.getElementById('foo');
console.log(elt.nodeName);
Büyük nodeName
ve köşeli parantezler olmadan öğe adını döndürür. Bu, bir <div>
öğenin öğe olup olmadığını kontrol etmek istiyorsanız, bunu aşağıdaki gibi yapabileceğiniz anlamına gelir :
elt.nodeName == "DIV"
Bu size beklenen sonuçları vermese de:
elt.nodeName == "<div>"
if (elt.nodeName && elt.nodeName.toLowerCase() === 'div') { ... }
localName
?
Ne olmuş element.tagName
?
Ayrıca bkz tagName
. MDN ile ilgili dokümanlar .
Genel kod incelemesini şu yollarla kullanabilirsiniz 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
Arayüzlerin tam listesi için buraya bakın .