In Mootools würde ich einfach Folgendes ausführen if ($('target')) { ... }
. Hat if ($('#target')) { ... }
in jQuery auf die gleiche Weise funktionieren?
- Gibt es eine "exists"-Funktion für jQuery? (46 Antworten )
Antworten
Zu viele Anzeigen?Wie von den anderen Kommentatoren vorgeschlagen, scheint dies der effizienteste Weg zu sein:
if ($(selector).length ) {
// Do something
}
Wenn Sie unbedingt eine exists()-Funktion haben müssen - was langsamer sein wird - können Sie das tun:
jQuery.fn.exists = function(){return this.length>0;}
Dann können Sie in Ihrem Code Folgendes verwenden
if ($(selector).exists()) {
// Do something
}
Wie beantwortet aquí
Wenn Sie benutzt haben:
jQuery.fn.exists = function(){return ($(this).length > 0);}
if ($(selector).exists()) { }
Sie würden unterstellen, dass eine Verkettung möglich ist, obwohl dies nicht der Fall ist.
Dies wäre besser
jQuery.exists = function(selector) {return ($(selector).length > 0);}
if ($.exists(selector)) { }
Ich glaube, die meisten, die hier geantwortet haben, haben die Frage nicht ganz verstanden, oder ich könnte mich auch irren.
Die Frage lautet: "Wie kann man überprüfen, ob ein selector existiert in jQuery."
Die meisten Leute haben dies für "wie man überprüft, ob ein Element in der DOM mit jQuery vorhanden ist." Kaum austauschbar.
jQuery ermöglicht es Ihnen, benutzerdefinierte Selektoren zu erstellen, aber sehen Sie hier, was passiert, wenn Sie versuchen, auf e zu verwenden, bevor es initialisiert;
$(':YEAH');
"Syntax error, unrecognized expression: YEAH"
Nachdem ich dieses Problem entdeckt hatte, stellte ich fest, dass es nur eine Frage der Überprüfung war
if ($.expr[':']['YEAH']) {
// Query for your :YEAH selector with ease of mind.
}
Zum Wohl.
- See previous answers
- Weitere Antworten anzeigen