私はfor
ループを使用して天気APIのデータを反復処理しています。そのforループの中で、私は、毎晩、星座の適性に関する評価を割り当てます(var totalRanking
)。次に、day0
,day1
などのIDを持つ一連のdiv
を更新します。ここで問題のコードブロックです(これらのdivが動的に生成されている、それが重要な場合。):コメントに示すようにjQuery appendはforループの最初のパスで失敗しますが(他のものには成功します)
var dayRankLine = $("<div>");
var rating = $("<span class=rating>"); // happens
rating.text(Math.round(totalRanking * 100) + "%"); // happens
dayRankLine.html("Score: "); // happens
dayRankLine.append(rating); // doesn't happen on 0. (does on others)
$("#day" + i).after(dayRankLine); // happens (even on 0)
、最初のdiv、#day0
は、取得したテキストScore:
、ない数です。残りの部門は期待どおりに働いています。後のコードブロックは、0日目にrating
を使用して別のDOM要素を更新し、期待どおりに動作し、正しい値が入力されていることを示します。
ループを通した最初の反復とは何が違うのですか、追加については何が違うのですか?そのパスはそのパスでのみ失敗するでしょうか?
実例/フィドルがありますか?あなたのコードにはforループはありません。 – realbart