jquery $('.class').each() 有多少项?
当使用jquery选择器循环一组项目时,有没有办法找出集合中有多少项目?
When looping over a group of items using jquery selectors is there a way to find out how many items there are on the collection?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
如果您使用链式语法:
...我认为
each
函数中的代码没有任何(合理的)方法来知道有多少项。 (不合理的方法会涉及重复选择器和使用索引
。)但是让集合可用于您在
each< 中调用的函数是很容易的。 /代码>。这是一种方法:
作为一个有点复杂的选项,您可以将 jQuery 对象转换为数组,然后使用该数组的
forEach
。传递给forEach
回调的参数是正在访问的条目(jQuery 为您提供this
和第二个 参数),该条目的索引以及您调用它的数组:这假设至少有一个模糊现代JavaScript引擎和/或
Array#forEach
的垫片。或者就此而言,给自己一个新工具:
用法:
If you're using chained syntax:
...I don't think there's any (reasonable) way for the code within the
each
function to know how many items there are. (Unreasonable ways would involve repeating the selector and usingindex
.)But it's easy enough to make the collection available to the function that you're calling in
each
. Here's one way to do that:As a somewhat convoluted option, you could convert your jQuery object to an array and then use the array's
forEach
. The arguments that get passed toforEach
's callback are the entry being visited (what jQuery gives you asthis
and as the second argument), the index of that entry, and the array you called it on:That assumes an at least vaguely modern JavaScript engine and/or a shim for
Array#forEach
.Or for that matter, give yourself a new tool:
Usage:
使用
.length
属性。它不是一个函数。Use the
.length
property. It is not a function.如果您使用的 jQuery 版本低于 1.8,您可以使用 $('.class').size() ,它接受零个参数。有关 .size() 方法的更多信息,请参阅文档。
但是,如果您正在使用(或计划升级)到 1.8 或更高版本,则可以使用 $('.class').length 属性。有关 .length 属性的更多信息,请参阅文档。
If you are using a version of jQuery that is less than version 1.8 you can use the $('.class').size() which takes zero parameters. See documentation for more information on .size() method.
However if you are using (or plan to upgrade) to 1.8 or greater you can use $('.class').length property. See documentation for more information on .length property.
您的意思是
length
或size()
吗?参考:http://api.jquery.com/length/
You mean like
length
orsize()
?Refs: http://api.jquery.com/length/