在每个循环的jquery中扩展数组

时间:2015-11-24 22:05:14

标签: jquery arrays loops

可能这是一个非常简单的问题,但我找不到解决方案,尽管有很多"谷歌搜索":

我想在每个循环的jquery中扩展一个数组。但是在循环完成后,数组再次为空。这是我的代码段:

var myarr = [];
var sum = 0;
$("#myDomListElement").each(function(i) {
    myarr.push(i);
    sum += sum + 1;
    alert("I have added " + i");
});

在此循环结束时, sum 的值为> 0取决于循环迭代次数。但是 myarr 在循环结束时为空。如果我调试代码,我可以看到 myarr 随着每次迭代变得越来越大,但是一旦循环完成, myarr 再次为空。 (警报显示迭代已完成)。

主要类型和数组之间有什么区别,有没有办法推动每个循环中的元素在每个循环之外使用?

致以最诚挚的问候,

史蒂夫

1 个答案:

答案 0 :(得分:0)

由于多次使用相同的ID,您遇到了问题, ID应该是唯一的,只有1个元素应该具有ID = myDomListElement。

这可能会导致阵列最后变空。

我已经转到了班级'用法,似乎工作正常

fiddle

var myarr = [];
var sum = 0;
$(".myDomListElement").each(function(i) {
    myarr.push(i);
    sum += sum + 1;
    //alert("I have added " + i);
});

console.log(myarr);