【发布时间】:2017-02-26 03:07:37
【问题描述】:
我想获得一个 HTML 元素的所有属性、样式、事件和方法的列表。浏览器中是否有反射 API?
我正在寻找这样的东西:
var button = new HTMLButtonElement();
var className = document.getQualifiedClassName(button); // "HTMLButtonElement"
var definition = document.getDefinition(className); // HTMLButtonElement reference
var instance = document.getInstance(definition); // instance of HTMLButtonElement
var properties = document.getProperties(button); // properties of HTMLButtonElement
var methods = document.getMethods(button); // methods of HTMLButtonElement
var styles = document.getStyles(button); // styles applicable to HTMLButtonElement
var events = document.getEvents(button); // events on HTMLButtonElement
var inheritance = document.getInheritance(button); // HTMLButtonElement > HTMLElement
编辑:
这是 ActionScript3 中的调用,它得到了我正在寻找的东西:
var objectInformation = document.describeType(button) // metadata
这可能会让我更清楚我想在 JavaScript 中做什么。
背景
假设我正在尝试将完整的代码添加到 HTML 代码编辑器中。当用户将光标放在 div 元素旁边并启动代码完成时,我想向他们展示代码完成弹出窗口中的所有事件、属性和样式。当他们输入 JavaScript 时,我想自动完成所有可用的方法。当他们开始输入样式对象时,我想提供样式列表。
如果给我一个对象或标签名称,我需要能够显示所有元数据以完成代码。在许多语言中,都有 API 可以做到这一点。
【问题讨论】:
标签: javascript html actionscript-3 flash