요소가 HMTElement 요소인지 확인하기 위해 nodeType==1을 자주 사용합니다. 페이지의 요소는 요소 노드, 속성 노드, 텍스트 노드 등을 포함한 모든 노드입니다. w3c nodeType의 정의는 다음과 같습니다
const unsigned short ELEMENT_NODE = 1;
const unsigned short ATTRIBUTE_NODE = 2;
const unsigned short TEXT_NODE = 3;
const unsigned short ENTITY_NODE = 6;
그러나 사용자 정의 개체에 nodeType 속성도 포함되어 있다면 어떻게 될까요? 예를 들어
코드 복사
코드는 다음과 같습니다.
isHTMLElement(obj);/ /true
위의 isHTMLElement(obj)는 true를 반환하지만 obj는 분명히 HTML 노드 요소가 아닙니다. 다음은 객체 특성과 try-catch 문으로 판단됩니다.
코드 복사
코드는 다음과 같습니다.
isHTMLElement(obj1);//false
isHTMLElement(obj2);//false
isHTMLElement(obj3) ;//true
창과 문서에 특별한 처리가 필요합니다
코드 복사
코드는 다음과 같습니다. 다음과 같습니다:
function isHtmlControl (obj) {
var d = document.createElement("div")
try{
d.appendChild(obj. cloneNode(true));