Ich möchte eine Liste aller Eigenschaften, Stile, Ereignisse und Methoden eines HTML-Elements erhalten. Gibt es in den Browsern eine Reflektions-API?Hat JavaScript im Browser einen Reflektionsmechanismus?
Ich bin auf der Suche nach so etwas wie folgt aus:
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
EDIT:
Dies ist der Aufruf in ActionScript3 das, was kommt ich suche:
var objectInformation = document.describeType(button) // metadata
Dies kann Machen Sie es klarer, was ich in JavaScript zu tun versuche.
Hintergrund
Sagen wir, ich bin versucht, Code vollständig an einen HTML-Code-Editor hinzuzufügen. Wenn der Benutzer den Cursor neben ein div-Element platziert und den Code vollständig startet, möchte ich ihnen alle Ereignisse und Attribute und Stile im Code Complete-Popup anzeigen. Wenn Sie JavaScript eingeben, möchte ich alle verfügbaren Methoden automatisch abschließen. Wenn sie das Styles-Objekt eingeben, möchte ich eine Liste von Styles bereitstellen.
Wenn ich ein Objekt oder einen Tag-Namen bekomme, muss ich in der Lage sein, alle Metadaten für die Code-Vervollständigung anzuzeigen. In vielen Sprachen gibt es dafür APIs.