我正在寻找(动态)获取浏览器当前知道的 HTML 元素列表,例如HTMLPreElement
等HTMLSpanElement
。这些对象是全局的,即
console.log('HTMLPreElement' in window); //=> true
所以我想我可以这样使用getOwnPropertyNames
:
console.log(Object.getOwnPropertyNames(window));
获取全局属性的完整列表(MDN 声明这会返回可枚举和不可枚举的属性)。
使用上面的方法,我得到了一个包含大约 70 个属性名称的数组。但是,它不包括 -only 之类的HTMLPreElement
对象HTMLElement
。我也试过:
console.log(Object.getOwnPropertyNames(window.Window.prototype));
这带回了一个更大的列表(包括addEventListener
等),但同样,没有HTMLPreElement
。
HTML{Tag}Element
那么,这些对象到底在哪里?