Was ist der beste Weg, um herauszufinden, ob ein bestimmtes JavaScript-Objekt ein DOM-Element ist? [Duplikat]
-
02-07-2019 - |
Frage
Diese Frage bereits eine Antwort hier:
Sagen Sie zum Beispiel ich eine Funktion schreiben, die entworfen wurde, mehrere Argument Typen:
var overloaded = function (arg) {
if (is_dom_element(arg)) {
// Code for DOM Element argument...
}
};
Was ist der beste Weg, is_dom_element
zu implementieren, so dass es funktioniert in einem Cross-Browser, ziemlich genaue Art und Weise?
Lösung
jQuery überprüft die nodeType Eigenschaft. So müssten Sie:
var overloaded = function (arg) {
if (arg.nodeType) {
// Code for DOM Element argument...
}
};
Obwohl diese alle DOM-Objekte erkennen würde, nicht nur Elemente. Wenn Sie Elemente allein wollen, dass sein würde:
var overloaded = function (arg) {
if (arg.nodeType && arg.nodeType == 1) {
// Code for DOM Element argument...
}
};
Andere Tipps
Wahrscheinlich diesen hier:
node instanceof HTMLElement
Das sollte in den meisten Browsern funktionieren. Ansonsten haben Sie Ente-Typ es (zB. typeof x.nodeType != 'undefined'
)
Was ist
obj instanceof HTMLElement
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow