0
function appData (arg) {
    var tmp ='<div  class="eventPopUp" z-index:6;">asdfasd <br> asdfasd <br> asdfasd <br> asdfasd<div style="clear:"></div></div>'
    $(arg).html(tmp);
    var off= $(tmp).offset().left;
    var wid = $(tmp).width();
    //var hei = $(arg).children().height();
    var hei = $(tmp).outerHeight();


    console.log('width is ' + wid + ' height is ' + hei);
 }

こんにちは、上記の関数で、html 要素を含む変数を作成しています。tmp 変数のheightとを知りたいです (コンテンツが動的に更新されるため)。私の問題は、メソッドと iを使用して変数 tmp を取得できることです。メソッドを使用して 0 を取得しています。var の高さを見つけるのを手伝ってください。そして、スタイルを使用して明示的に高さを指定した場合、height() メソッドは適切な回答を提供し、arg は 'li' で、この変数を追加します。widthwidthwidth()heightheight()tmp

4

2 に答える 2

2

jQueryは、実行時にどの要素を選択しているのか正確に混乱しているように見える$(tmp)ため、空の高さを返します.

初期化時に文字列をオブジェクトとして明示的に定義すると、DOM にアタッチされた後に高さを計算できます。これを試して:

function appData(arg) {
    var $tmp = $('<div class="eventPopUp">asdfasd <br> asdfasd <br> asdfasd <br> asdfasd<div style="clear:"></div></div>')
    $(arg).append($tmp);

    var off = $tmp.offset().left;
    var wid = $tmp.width();
    var hei = $tmp.outerHeight();   

    console.log('width is ' + wid + ' height is ' + hei);
}

フィドルの例

于 2013-10-14T10:59:40.173 に答える