2011-10-07 12 views
5

我試圖動態地找到一個項目的寬度,將具有特定寬度的CSS類,以動態定位其背景圖像(一個精靈)。但是,該項目尚未添加到DOM。在添加到DOM之前,有沒有辦法讀取類的寬度屬性?javascript/jquery - 如何獲得一個元素/ css類的寬度尚未添加到DOM但

+0

不是我知道的可靠。常用的方法是將其添加到屏幕上(-x,-y),然後檢查它的寬度。 – CaffGeek

+0

我不認爲JavaScript可以訪問元素的「物理」屬性,直到它被添加到DOM;所以我不認爲這是可能的,沒有... –

+0

共識會說不。我也不認爲這是可能的。 –

回答

1

我相信你不能。相反,將其添加到測試div,找到寬度,然後刪除div。

$selector.append("<div id='test'></div>"); 
    var widthVal= $selector.find("#test").width(); 
     $("#test").remove(); 

選擇器是您可能想追加到的元素選擇器。 你可以將一個類與「test」div關聯起來,將其作爲「display:none」

0

這是一個小小的Hackie,但它應該可以工作。使用CSS屬性display: none將它添加到DOM,因此它將不可見,那麼您可以閱讀with屬性,並在需要之後刪除該元素。或者從Display:none改變它的狀態。

希望這有助於。

相關問題