使用jQuery将带有类的所有对象加载到数组中

use*_*033 10 jquery

我的页面上有一堆div,有类testClass.

我想将它们加载到一个数组中,然后检查数组的大小.

但它不起作用?

myArray = $('testClass');

alert(myArray.count);
Run Code Online (Sandbox Code Playgroud)

怎么了?

lef*_*ode 16

你有:

myArray = $('testClass');
alert(myArray.count);
Run Code Online (Sandbox Code Playgroud)

你要:

myArray = $('.testClass');
alert(myArray.length);
Run Code Online (Sandbox Code Playgroud)

请注意,首先,.对于testClass.然后,myArray是一个JavaScript对象,因此您可以访问长度键.


jon*_*ohn 12

您提供的代码返回一个可迭代的jQuery对象,但不是一个数组.此外,您在类选择器中犯了一个错误.

要检查该jQuery对象的大小,可以使用:

var $j_object = $(".testClass");
alert($j_object.size());
Run Code Online (Sandbox Code Playgroud)

要遍历该对象,可以使用each()函数:

var $j_object = $(".testClass");
$j_object.each( function(i) { doSomethingHere(); } );
Run Code Online (Sandbox Code Playgroud)

有关如何使用each()的更多信息,请查看jQuery文档.

另一个说明.如果你想在每个函数中对dom对象做一些事情,你可以参考'this'.要从dom对象获取jQuery对象,可以使用$(this).

此外,$ sign是完全可选的,但可以帮助区分jQuery对象和其他变量,例如表示dom元素的变量.

  • 而不是.size(),jQuery建议您使用.length,所以$('.testClass').length将为您提供文档中具有"testClass"类的元素数量. (2认同)