2012-04-21 5 views
0

私はテーブルにlineNumber trの特定のクラスの要素があることを確認するためにいくつかのjavascriptを書こうとしています。私はそうするには、次のループを持っている:なぜこのセレクタがサイズ0を返すか分かりません

while ($(".functionCodeLine").size() < lineNumber) { 

     console.log($(".functionCodeLine").size()); 

     funcLineRow = $('<tr class="functionCodeLine"></tr>'); 
     table.append(funcLineRow); 

... 
} 

しかし、私のログ文の中で私が返さ大きさは、私はDOMを検査した場合、私は新しいのtrのは、クラス属性で追加されたことがわかり常に0であることがわかります。だから私は、なぜサイズが常に0であり、ループが終了しないのかを理解するのが少し苦労しています。私は何が欠けていますか?

Here's a jsfiddle.net demo

+3

HTTPを作成してください://jsfiddle.net/デモ。 –

+1

なぜこのようなループを使用していますか?実際の要素数を取得し、必要な要素数を取得し、両方の違いを確認して、for(i = 0; i = diffenrence)ループを使用する必要があります。 – pomeh

+0

@pomeh OPがそれを得ることができると仮定します。 whileループは、この例の 'for'ループよりも簡潔です。 –

答えて

0

この文を試してみてください。

while (table.find(".functionCodeLine").size() < lineNumber) { 

    console.log(table.(".functionCodeLine").size()); 

    funcLineRow = $('<tr class="functionCodeLine"></tr>'); 
    table.append(funcLineRow); 

... 
} 
+0

問題が解決したら、問題を解決してください。 – pomeh

0

だから私は、問題は上記のコードであるか本当にわからないんだけど、私はそれを回避することができました

$(".functionCodeLine").length 
+2

[http] ://api.jquery.com/size/) –

+1

'length'を使うほうが良いですが、' size() 'と' length'が同等の値を返すのでOPの問題は解決しません。 –

+0

長さは同じですが、長さは同じです。 – Dejas

関連する問題