【发布时间】:2011-12-27 04:47:44
【问题描述】:
我有一个下面的函数,我试图通过它附加一些东西。它在内部调用另一个执行附加功能的函数..
function something()
for(var i=0; i <= obj.result.length; i++) {
编辑
obj = objEval.result[i].uniquename;
prop = objEval.result[i].prop;
count = objEval.result[i].count;
// count is 21 in my case. below function is called..
if (count > 0){
callAdd(obj,prop);
}
}
}
执行附加的实际函数
function callAdd(obj,prop){
// obj exists in DOM.. checked via $(obj).length -- greater than 0
$(obj).append(prop);
}
这里的问题是,即使 append 函数在 for 循环中.. 只有第一个元素被发送到 callAdd 函数.. 如下:
我有 4 个 obj,道具:
obj=45183371 and prop=6
obj=560488951 and prop=12
obj=616516330 and prop=23
obj=915329019 and prop=5
但只有第一对(obj=45183371 和 prop=6)作为参数发送到 callAdd 函数。
请帮忙..
【问题讨论】:
-
如果你不使用迭代器
i有什么意义?您不需要在某处使用类似于obj[i]的东西吗? -
需要检查的是您是否每次都将相同的 obj 和 prop 传递给
callAdd函数。您能否粘贴执行调用(以及参数传递)的确切代码。这么多代码很难说清楚。 -
count 是全局变量吗?由于您的评论,我认为在这种情况下计数为 21。你有没有想过使用 JQuery 函数 .each() 而不是自己做 for 循环?
-
@Peter:我相信我正在尝试在循环内//做一些事情..当然它有事情要做!
-
@techfoobar : 不,每次在循环中,obj、prop 对都会更改.. 如控制台值所示.. 但是当传递给函数时,只有第一对被传递:(
标签: javascript jquery loops for-loop