我期待(動態)獲得HTML元素的列表瀏覽器是目前知道的,如HTMLPreElement
,HTMLSpanElement
等,這些對象是全球性的,即列出窗口對象的所有屬性?
console.log('HTMLPreElement' in window); //=> true
所以我想我會能夠使用getOwnPropertyNames
這樣的:
console.log(Object.getOwnPropertyNames(window));
獲得全球性的完整列表(MDN指出,這同時返回可枚舉和不可枚舉屬性)。
使用上面的,我得到了大約70個屬性的數組。但是,它不包括像HTMLPreElement
這樣的對象 - 只有HTMLElement
。我也試過:
console.log(Object.getOwnPropertyNames(window.Window.prototype));
其帶回一個更大的清單(包括addEventListener
等),但是也沒有HTMLPreElement
。
那麼,在哪裏做這些HTML{Tag}Element
對象駐留?
看起來這確實在WebKit的工作(只是一個簡單的'對... in'),但Firefox拒絕列出。 – Graham
儘管知道爲什麼你不能在Firefox中看到它很有趣,但知道你爲什麼在乎...有趣而不是有趣? – gdoron
@gdoron - 起初我只需要一個有效標籤列表,但是當我看不到它們時,我更感興趣的是它們爲什麼不出現。 – Graham