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、ポリエ[0] = 0、ポリエ[1] = 0、ポリエ[2] = 0、ポリエ[3] = 0、ポリエ[4] = 0、ポリエ[5] = 0、
IE8 で:
n = 6
ただし、次のように期待する必要があります。
n = 6、ポリエ[0] = 6、28px、28px、ポリエ[1] = 6、28px、28px、ポリエ[2] = 6、28px、28px、ポリエ[3] = 6、28px、28px、ポリエ[ 4] = 6, 28px, 28px, ポリエ[5] = 6, 28px, 28px,
変!a
for ループ内の変数の値がゼロになるのはなぜですか? height()
(ネストされたfor
ループ内の) 値が完全に欠落しているのはなぜですか? なぜ IE8 はこの行さえも書き込めなかったのですか?
("polje["+i+"] = " + a + "<br>")
どんな助けでも大歓迎です!