2017-05-07 10 views
0

CSSのオーバーフローを使用せずに、この最後の要素を追加した後でdivの高さを取得したいとします。CSSのオーバーフローを使用せずにjqueryを追加した後でdivの高さを取得する方法

HTMLコード:

<div id="wall"></div> 

Javacriptコード:

var walldown = setInterval(walldownfn, 10000); 

    function walldownfn() { 

     $.post("/php/post.php", function(data, status){ 
      $("#wall").append(data+"<br>"); 

     }); 
     var awrap = document.getElementById("wall"); 
     alert(awrap); 
     } 

ALERT出力:

[object HTMLDivElement] or 0 height 

Ajaxのレスポンスデータは、HTMLコードです。

例:

<div class="card" style="width: 20rem;"> 
    <img class="card-img-top" src="..." alt="Card image cap"> 
    <div class="card-block"> 
    <h4 class="card-title">Card title</h4> 
    <p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p> 
    <a href="#" class="btn btn-primary">Go somewhere</a> 
    </div> 
</div> 
+0

'$("#wall ")。height()'を試しましたか? – HtmHell

+0

ええ、それも0の高さを常に得ます – ind

+0

あなたはコンテンツを追加した後、関数内でそれを呼び出す必要があります。 – HtmHell

答えて

0

$("#wall").height()を使用することにより、あなたはすべてのタイムラプスを取得divの絶頂コード怒鳴る(代わりに、アラートのコンソール)を参照してください

var walldown = setInterval(walldownfn, 1500); 
 

 
var returned_data = '<div class="card" style="width: 20rem;"><img class="card-img-top" src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSQythd0ly14qbZd7YEJ9WreTX4-dBQw7vfGS33ZXbTQRJjE1AHITKZE5g" alt="Card image cap"><div class="card-block"><h4 class="card-title">Card title</h4><p class="card-text">Some quick example text to build on the card title and make up the bulk of the card\'s content.</p><a href="#" class="btn btn-primary">Go somewhere</a></div></div>'; 
 
function walldownfn() { 
 

 
    $.post("https://httpbin.org/post", {text:returned_data},function(data, status){ 
 
     $("#wall").append(data.form.text); 
 
     console.log("height : "+$("#wall").height()); 
 
    }); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="wall"></div>

+0

これはajaxを使用しているときには機能しません。私の主な目的は、情報なしのために申し訳ありませんが、使用アヤックスです。 brを使うと新しい行の高さしか得られません。 – ind

+0

これは質問に記載されたものではありません。あなたの質問を再調整してください。あなたはajaxを使用することを意味しますか? ajaxを使用してグラブ情報を作成し、そのdivでレンダリングしていますか? –

+0

年あなたはajaxの後にdivのデータのレンダリングを取得した後、divの高さを求めます。私は常にbrを使わずに0を得る。私がbrを使用する場合、ブレークラインの高さは約12pxの高さを含まない – ind

0

はこれを試してみてください。

var walldown = setInterval(walldownfn, 10000); 

function walldownfn() { 
    $.post("/php/post.php", function(data, status){ 
     $("#wall").append(data+"<br>"); 
     alert($("#wall").height()); 
    }); 
} 
関連する問題