EDIT : 이것은 내가 물어 본 멍청한 질문입니다. 나는 너무 빨리 질문하지 말 것을 상기시키기 위해 그것을 지킬 것이다.DOM 노드가`html` 노드인지 확인하는 방법
내가 선택한 DOM 노드가 html
노드인지 어떻게 확인할 수 있습니까? 나는 그것이 일반적인 특성을 가지고 있지 않다는 것을 알아 차렸다. 예를 들어 : 특히
var div = document.getElementsByTagName('div')[0];
var html = document.getElementsByTagName('html');
div instanceof HTMLElement; // true
html instanceof HTMLElement; // false
div.tagName; // "DIV"
html.tagName; // undefined
, 나는 모든 DOM 노드 (div
, span
등) 작동 검사를하고 싶습니다. 문제는 내 코드가 DOM을 크롤링하고 특정 속성을 확인한다는 것입니다. 코드가 속성을 찾을 수없는 경우, 그것은 html
노드에 도달하기 때문에이 라인의 오류가 발생합니다 : node.TagName
이 정의되어 있기 때문에 node
에서, html
노드 때
if (node.tagName.toUpperCase() !== 'OBJECT') { }
이는 TypeError
가 발생합니다.
미리 감사드립니다.
당신이 VAR을 설정하지만, 아무것도 안하고 있기 때문에 그래, 콘솔에 당신은 정의되지 않은 얻을 것이다 그것으로. 'var html = document.getElementsByTagName ('html') [0];을 시도하십시오. console.log (html);'이것은 html 노드의 확장 가능한 트리를 생성합니다. – EmmyS