2011-09-27 113 views
5

樣品的jQuery:是否有可能獲得克隆的jQuery對象的高度?

$('document').ready(function(){ 
    var $theP = $('p'); 
    var $theDiv = $('div'); 
    $theP.html($theP.html() + "<br>div height: " + $theDiv.outerHeight()); 
    var $theClone = $theDiv.clone(); 
    $theP.html($theP.html() + "<br>clonded div height: " + $theClone.outerHeight()); 
}) 

直播鏈接:http://jsbin.com/odujiv/4

在上面跑,你想獲得它的高度時,你得到的 '0' 的結果。我認爲這是由於克隆的對象尚未放入DOM中。獲得高度的唯一方法是首先將克隆的元素添加回DOM?如果是這樣,我認爲這是可行的,但在我將它重新放入DOM之前處理它會很棒。

+0

這裏提出了一個類似於'類似'的解決方案:http://stackoverflow.com/questions/2345784/jquery-get-height-of-hidden-element-in-jquery-1-4-2 – Clive

+0

Yea ,我想這個解決方案是我必須在獲得它的高度之前將它添加到DOM中。這可能會起作用。我可以將它添加到DOM中,將其置於屏幕外,獲取高度,進行計算,然後將其放在我想要的位置。 –

+1

我已經遇到過這個問題 - 添加到屏幕外的DOM做的伎倆。 – Pat

回答

4

沒有,很遺憾。原始HTML元素在沒有附加到文檔時沒有大小,並且jQuery尚未實施解決方法。我認爲這是因爲互相依賴的HTML元素的大小彼此相關!

-1

試試這個:

$theClone.height(); 

or 

$theClone.css('height'); 
+1

我特別需要outerHeight,但問題是一樣的。以上也返回0 –