我希望(动态地)获取浏览器当前识别的 HTML 元素列表,例如 HTMLPreElement
、HTMLSpanElement
等。这些对象是全局的,即
console.log('HTMLPreElement' in window); //=> true
所以我想我可以像这样使用 getOwnPropertyNames
:
console.log(Object.getOwnPropertyNames(window));
获取全局属性的完整列表(MDN 声明这会返回可枚举和不可枚举的属性)。
使用上面的方法,我得到了一个包含大约 70 个属性 nanes 的数组。但是,它不包括像 HTMLPreElement
这样的对象——只有 HTMLElement
。我也试过:
console.log(Object.getOwnPropertyNames(window.Window.prototype));
这会返回一个更大的列表(包括 addEventListener
等),但同样没有 HTMLPreElement
。
那么,这些 HTML{Tag}Element
对象到底在哪里?
最佳答案
for (var prop in window)
console.log(prop);
这就是你需要的?
关于javascript - 列出窗口对象的所有属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10374462/