(Da ich offenbar nicht genug Ruf haben die Antwort auf stimmen ...)
Wolf schrieb:
Calling length property on undefined or a null object will cause IE and webkit browsers to fail!
Instead try this:
// NOTE!! THE FOLLOWING IS WRONG; DO NOT USE! -- EleotleCram
if($("#something") !== null){
// do something
}
or
// NOTE!! THE FOLLOWING IS WRONG; DO NOT USE! -- EleotleCram
if($("#something") === null){
// don't do something
}
Obwohl es wahr ist, dass der Aufruf der length-Eigenschaft für ein undefiniertes oder null-Objekt dazu führt, dass Browser fehlschlagen, wird das Ergebnis der Selektoren von jQuery ($ ('...')) nie null oder undefiniert sein. Daher machen die Codevorschläge keinen Sinn. Benutze eine der anderen Antworten, sie machen mehr Sinn.
(2012) Update Weil die Menschen im Code suchen und diese Antwort ist ziemlich hoch oben in der Liste: Für die letzten paar Jahre, ich war diese kleine Plugin:
jQuery.fn['any'] = function() {
return (this.length > 0);
};
Ich denke, . $ ('div') jede() liest besser als $ ('div') Länge, plus Sie wird nicht so viel von Tippfehler leiden.. $ ('div') ayn() wird Geben Sie einen Laufzeitfehler, $ ('div'). Länge wird lautlos am meisten wahrscheinlich immer falsch.
__
Edits November 2012:
1) Weil die Menschen im Code suchen neigen und nicht lesen, was rund um den Code gesagt wird, habe ich zwei große Einschränkung Lektor Notizen zum angezeigten Code von Wolf.
2) Ich habe Code des kleinen Plugins hinzugefügt, das ich für diese Situation verwende.
Danke, es ist wirklich sehr gut. – Prashant
Was denken Sie über var _myDiv = $ ('# myDiv'); ... .... if (_myDiv.length) {...} Ausnahme erzeugen. –
wie eleotlecram sagte; besser vermeiden. Länge – numediaweb