2009-02-16 18 views

Antwort

12

Der von Ihnen bereitgestellte Code gibt ein iterables jQuery-Objekt, aber kein Array zurück. Außerdem haben Sie in Ihrer Klassenauswahl einen Fehler gemacht.

Für die Größe des Objekts jQuery überprüfen, können Sie verwenden:

var $j_object = $(".testClass"); 
alert($j_object.size()); 

Schleife über dieses Objekt, können Sie die each() Funktion:

var $j_object = $(".testClass"); 
$j_object.each(function(i) { doSomethingHere(); }); 

Überprüfen Sie die jQuery-Dokumentation Weitere Informationen zur Verwendung von jedem().

Eine andere Anmerkung. Wenn Sie etwas mit dem dom-Objekt in jeder Funktion machen wollen, können Sie auf 'this' verweisen. Um das jQuery-Objekt vom dom-Objekt abzurufen, können Sie $ (this) verwenden.

Außerdem ist das $ -Zeichen vollständig optional, kann aber dabei helfen, zwischen jQuery-Objekten und anderen Variablen zu unterscheiden, beispielsweise solchen, die dom-Elemente bezeichnen.

+2

Anstelle von .size() empfiehlt jQuery die Verwendung von .length, daher gibt $ ('. TestClass'). Length die Anzahl der Elemente mit einer Klasse von "testClass" im Dokument an. –

16

Sie haben:

myArray = $('testClass'); 
alert(myArray.count); 

Sie wollen:

myArray = $('.testClass'); 
alert(myArray.length); 

Hinweis zunächst die. für testClass. Dann ist myArray ein JavaScript-Objekt, so dass Sie Zugriff auf den Längenschlüssel haben.

4

Sie können dies tun, ohne ein Array mit:

$('.testClass').length 

Das ist alles.

Verwandte Themen