2009-08-13 51 views
3

我面對一個奇怪的問題與火狐,我有一個ID =「popup_layer」DIV標記。 我使用jQuery找到這個DIV的正常工作:查找位置()DIV的Jquery Firefox錯誤

var rightPosition=$j("#popup_layer") 

但是,當我試圖找到DIV的位置:

var rightPosition=$j("#popup_layer").position().left; 

我得到下面的異常螢火蟲:

[異常...]「無法轉換JavaScript參數arg 0 [nsIDOMViewCSS.getComputedStyle]」nsresult:「0x80570009(NS_ERROR_XPC_BAD_CONVERT_JS)」位置:「JS frame :: http://localhost:20094/Scripts/CombineJS.ashx?JSFiles=/Scripts/jquery-1.2.6.min.js;%20%20%20%20/Scripts/PDP/newModalBox.js;%20%20%20%20/Scripts/CookieHelpers.js;%20%20%20%20popupLayer.js;%20%20%20%20/BE/Scripts/scripts.js; :: anonymous :: line 23」data:no]

回答

1

出於某種原因,當我刪除我的DIV的風格,它開始工作

<div id="popup_layer" style="display:none;"> 

<div id="popup_layer"> 

完全不可思議!

+0

無法檢索顯示的尺寸或位置:無DOM元素。根據定義,該元素不應該在頁面上呈現,因此不會佔用空間。 – andreialecu 2009-08-13 20:39:01

+0

另外,當元素隱藏顯示時,您無法檢索元素的高度或寬度:無 – 2009-08-13 20:52:23

3

無法使用display:none檢索DOM元素的尺寸或位置。根據定義,該元素不應該在頁面上呈現,因此不會佔用空間。

我建議最初讓您的元素可見,獲得您想要的尺寸,然後在完成測量後應用「display:none」。

或者,您可以使用「visibility:hidden」來代替。