JavaScript에서 HTML 요소의 유형을 결정하는 방법이 필요합니다. ID는 있지만 요소 자체는 <div>
, <form>
필드, a <fieldset>
등이 될 수 있습니다. 어떻게하면 되나요?
답변
nodeName
찾고있는 속성입니다. 예를 들면 다음과 같습니다.
var elt = document.getElementById('foo');
console.log(elt.nodeName);
nodeName
대괄호없이 대문자로 표시되는 요소 이름 을 반환합니다. 즉, 요소가 요소인지 확인하려는 경우 <div>
다음과 같이 수행 할 수 있습니다.
elt.nodeName == "DIV"
이것이 예상되는 결과를 제공하지는 않지만 :
elt.nodeName == "<div>"
답변
답변
때로는 당신이 원하는 element.constructor.name
document.createElement('div').constructor.name
// HTMLDivElement
document.createElement('a').constructor.name
// HTMLAnchorElement
document.createElement('foo').constructor.name
// HTMLUnknownElement
답변
다음을 통해 일반 코드 검사를 사용할 수 있습니다 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
봐 여기 인터페이스의 전체 목록.