編輯:這是我問過的最愚蠢的問題。我會保留它,提醒自己不要太快提問。如何檢查一個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