2009-11-27 167 views
0

當元素被隱藏時,你不能讀取例如。他們的維度,這是一個通用的JavaScript問題,或者有可能在jQuery中的解決方法?jQuery:隱藏的元素 - 一般問題

我有例如。一些包含小部件的選項卡,初始化它們不能正常工作,因爲它們是隱藏的。

thx

回答

2

沒有我知道的解決方法。

但是,您可以在CSS中使用visibility:hidden而不是display:none。使用可見性隱藏的元素:隱藏保持其位置和大小,但僅僅是不可見的。

希望這會有所幫助。

0

如果設置可見性:隱藏該元素仍然佔用空間,所以設置position:absolute以及將其移出文檔流。如有必要,您可以將元素放置在屏幕上,以便它不會不可見地阻止事件等。

$("#el").css({ 
    visibility: "hidden", 
    position: "absolute", 
    left: "-9999px" 
}); 

從那裏你仍然可以讀取元素的寬度。例如:

$("#el").width(); 

希望這有助於!

0

這個blog post突出顯示了一種方法來獲取使用display:none隱藏的元素的尺寸。這裏的其他答案涉及相同的想法,但都沒有提供將CSS屬性恢復爲原始值的解決方案。