0

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,

変!afor ループ内の変数の値がゼロになるのはなぜですか? height()(ネストされたforループ内の) 値が完全に欠落しているのはなぜですか? なぜ IE8 はこの行さえも書き込めなかったのですか?

("polje["+i+"]  = " + a + "<br>")

どんな助けでも大歓迎です!

4

1 に答える 1