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:
nodeNamearadığınız özelliktir. Örneğin:
var elt = document.getElementById('foo');
console.log(elt.nodeName);
Büyük nodeNameve 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 .