Gibt es eine schnelle Möglichkeit zu überprüfen, ob ein Objekt ein jQuery-Objekt oder ein natives JavaScript-Objekt ist?
Beispiel:
var o = {};
var e = $('#element');
function doStuff(o) {
if (o.selector) {
console.log('object is jQuery');
}
}
doStuff(o);
doStuff(e);
Natürlich funktioniert der obige Code, aber er ist nicht sicher. Sie könnten möglicherweise einen Selektorschlüssel zu der o
Objekt und erhalten das gleiche Ergebnis. Gibt es einen besseren Weg, um sicherzustellen, dass das Objekt tatsächlich ein jQuery-Objekt ist?
Etwas im Einklang mit (typeof obj == 'jquery')
3 Stimmen
Ab jQuery 3.0 ist dies definitiv kein korrekter Weg, um zu prüfen, ob ein Objekt ein jQuery-Objekt ist, da die
selector
wurde vor langer Zeit veraltet und in Version 3.0 entfernt. Auch in früheren Versionen kann ein jQuery-Objekt einen leeren Selektorstring haben, zum Beispiel$(window)
hat keinen Selektor. Verwenden Sieinstanceof
stattdessen.