[javascript] JavaScript에서 HTML 요소의 유형을 어떻게 확인할 수 있습니까?

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.tagName?

tagNameMDN 관련 문서 도 참조하십시오 .


답변

때로는 당신이 원하는 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

여기 인터페이스의 전체 목록.


답변