2011-09-29 62 views
2

我試着運行.outerHeight(),我只是通過附加.append()jQuery的.outerHeight().append()後

$("#someid").append("<ul id='#otherid'><li>something</li></ul>"); 
var h = $("#otherid").outerHeight(); 

到html這個 「H」 之後,元素的功能有錯誤的值。我認爲這是由於「附加」而不是將css應用於創建的元素。 .outerHeight()運行正確,如果我將它放在「setTimeout」中,但不是在「追加」之後。

你知道如何在剛添加元素後得到正確的outerHeight值嗎?

+0

沒有ü嘗試只是高度()? –

回答

1

其原因可能是由於附加元素尚未應用其CSS規則並且不計入總高度。嘗試使用延遲(如settimeout)使事情正常工作。

var h = $("#otherid").delay(300).outerHeight(); 
+0

我在等待@ Tudrum的確認? – vietean

+0

「延遲」不起作用。但無論如何有沒有辦法掛鉤一些事件,將在執行css時執行? – Tudrum

0

相反:id='#otherid'嘗試:id='otherid'

$("#someid").append("<ul id='otherid'><li>something</li></ul>"); 
var h = $("#otherid").outerHeight();