编辑:这是我问过的最愚蠢的问题。我会保留它,提醒自己不要太快提问。如何检查一个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
节点,并引发因为该行的错误:
if (node.tagName.toUpperCase() !== 'OBJECT') { }
这将引发TypeError
时node
是html
节点,因为node.TagName
是不确定的。
在此先感谢。
呀,在控制台你会得到一个不确定的,因为你设置一个变种,但没有做任何事情用它。尝试'var html = document.getElementsByTagName('html')[0]; console.log(html);'这将产生一个可扩展的html节点树。 – EmmyS