2012-04-27 5 views
1

興味深い問題があります。 jQuery(行のリスト)を使用してajax経由でデータをロードしてからdivに入れ、最終的にドキュメントに追加します。このようにしようとするとjQuery、js、ajax、div要素の間違った高さ

doc.append(myDiv); 
console.log(myDiv.height()); 

私は間違った高さ(ドキュメントインスペクタは別の値を示しています)を取得します。しかし私が(例えば750ms)待ってから高さを上げようとすると、大丈夫です。

私の質問ですが、私は間違っているのですか、それともブラウザの正常な動作ですか? (私はChromeを使用しています)

乾杯。

アップ、 物事をクリアするには、私はこのようなSTHん:

success: function() { 
     for(line in data){ 
      doing sth on line, and then append to myDiv 
     } 
     myDiv.height() 
     } 
+1

おそらくあなたのdivの高さを確認するときに 'display:none'ですか? – lazyhammer

答えて

0

それが原因でロードされていないAJAX応答であるかもしれません。 async:falseでajaxを試してみてください。 これをチェックしてくださいhttp://api.jquery.com/jQuery.ajax/

0

データがDIVにロードされるのを待ってからアラートのみを実行してください。あなたの完全なコードがわかりませんが、これは問題のようです。

0

jqueryなしで直接javascriptで高さを試してみてください。私は時々jqueryの高さと幅の関数が正しくないことに気がついた。次のように試してみてください:

myDiv.get(0).offsetHeight; 
関連する問題