我有一个jQuery.each()函数,我想把它变成FOR语句。
我想知道如何转
jQuery('.myclass').each(function() {
//do stuff
}
进入
for ( var i=0; i<.myclass.length; i++) {
//do stuff
}
答案 0 :(得分:5)
jQuery对象是类似数组的。它们具有length
属性,并且它们支持使用带有[]
的数字索引来访问元素。所以你只需直接索引到结果对象:
var myclass = jQuery('.myclass');
for ( var i=0; i<myclass.length; i++) {
// use myclass[i] here
}
这些信息在API文档中没有特别标记,但您可以在get
function的文档中找到它。括号表示法在很大程度上取代了get
函数的使用,除了它处理负索引值(用于相对于集合的结尾进行索引;负索引仅通过get
支持,而不是通过[]
)。
答案 1 :(得分:3)
您可以使用.get()
获取标准JavaScript数组。然后以正常方式使用for循环。
var nodes = $(...).get(),
nodes_len = nodes.length;
for(var i=0; i < nodes_len; i++) {
var node = nodes[i];
...
}
或者,如果您只需要索引编号,请使用以下命令:
$(...).each(function (index) {
...
});