2012-03-10 36 views
0

RDC70是RP70的補償父項。然而,在代碼中的某一點,情況並非如此。下面返回nulloffsetParent暫時消失

console.log($('#RP70').get(0).offsetParent); 

[注:這是從原來的職位編輯]

不久,但是,它給:

<div id="RDC70" class="rdc" style="display: block;"> 

在這兩個點,但是,console.log($('#RCD70'));返回[div#RCD70.rcd]

所以...我有兩個問題: (1)我可以用什麼jQuery來調查te RDC70而offsetParent關係被破壞? (2)爲什麼會發生這種情況?

謝謝。

+0

你什麼時候打電話?文件準備好了加載?需要更多細節。 – epascarello 2012-03-10 06:10:18

+0

我無法真正回答,@epascarello,因爲它是一個加載一次然後從那裏滾動的AJAX腳本。很多東西都隱藏起來並顯示出來,所以這可能會影響事物。然而,我可以說,它是在$ .ready/load之後的方式。 – Nick 2012-03-10 06:18:02

+0

這段代碼是如何被調用的?你能展示更多的代碼嗎? – epascarello 2012-03-10 06:20:55

回答

2

可能發生兩件事情。當您調用生成「空」輸出的代碼時,這些元素似乎很可能尚未加載到DOM中。

來自Mozilla開發者網絡: 當元素將style.display設置爲「none」時,offsetParent返回null。 https://developer.mozilla.org/en/DOM/element.offsetParent

offsetParent不太可能設置爲顯示:none雖然它自己返回null。

+0

初步觀察結果中的錯誤道歉。他們現在是正確的。然而,顯示已知父母似乎並沒有改正結果。 – Nick 2012-03-10 06:47:20

+0

這被證明是@jholloman的關鍵領導。元素及其父母都被加載,並且兩者的style.display都是'block'。但是,其中都駐留的container div將style.display設置爲'none'。謝謝您的幫助。一個羞恥,我不得不忍受另一個-1問一個問題,顯然在某個地方不高興的人,但我感謝你的幫助:) – Nick 2012-03-11 02:15:19