我遇到了在 javascript for 循环中使用 jQuery 的问题。经过超过 24 小时的调查,我决定发布问题的核心。我已将代码缩减为简单示例:
var a, i, j;
var n = $("div.kategorija_tekst").length;
document.write("n = " + n + "<br>");
for (i = 0; i < n; i++){
a = $("div.kategorija_tekst").length;
document.write("polje["+i+"] = " + a +"<br>");
for (j = 0; j < a; j++){
document.write($("div.def_tekst").eq(j).height() + "px, ");
}
}
我有:
在 Opera 12.14、Google Chome 24.0.1312.57 m、Safari 5.1.7.、Firefox 18.0.2 中:
n = 6, polje[0] = 0, polje[1] = 0, polje[2] = 0, polje[3] = 0, polje[4] = 0, polje[5] = 0,
在 IE8 中:
n = 6
但应该预期为:
n = 6, polje[0] = 6, 28px, 28px, polje[1] = 6, 28px, 28px, polje[2] = 6, 28px, 28px, polje[3] = 6, 28px, 28px, polje[ 4] = 6, 28px, 28px, polje[5] = 6, 28px, 28px,
奇怪的!为什么a
for 循环内的变量值为零?为什么height()
值(在嵌套for
循环中)完全丢失?为什么 IE8 连这一行都没有写成功?
("polje["+i+"] = " + a + "<br>")
任何帮助将不胜感激!