2011-09-29 28 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();