2012-03-10 3 views
0

RDC70은 RP70의 오프셋 부모입니다. 그러나 코드의 한 지점에서 이것은 그렇지 않습니다. 다음 반환 null : console.log($('#RCD70')); 그러나, 두 점에서offsetParent가 일시적으로 사라짐

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

:

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

[참고 :. 이것은 원래의 게시물에서 편집]

은 곧, 그러나, 그것은 제공 반환 [div#RCD70.rcd]

그래서 ... 나는 두 가지 질문이 있습니다 : (1) 어떤 jQuery를 사용하여 조사 할 수 있습니까? RDC70 동안 offsetParent 관계가 깨졌습니다? (2) 왜 이런 일이 일어날 수 있습니까?

감사합니다.

+0

언제 부르시겠습니까? 문서가 준비 되었습니까? 하중? 더 자세한 정보가 필요합니다. – epascarello

+0

나는 한 번로드 된 다음 거기에서 굴러가는 AJAX 스크립트 때문에 @epascarello라고 대답 할 수 없습니다. 많은 것들이 숨겨지고 전체적으로 표시되기 때문에 사물에 영향을 미칠 수 있습니다. 그러나 나는 $ .ready/load 다음에 그렇게 할 수있다. – Nick

+0

이 코드는 어떻게 호출됩니까? 더 많은 코드를 보여줄 수 있습니까? – epascarello

답변

2

두 가지 일이 발생할 수 있습니다. "null"출력을 생성하는 코드를 호출 할 때 요소가 아직 DOM에로드되지 않은 것 같습니다.

Mozilla 개발자 네트워크에서 : 요소에 style.display가 "none"으로 설정되어 있으면 offsetParent가 null을 반환합니다. https://developer.mozilla.org/en/DOM/element.offsetParent

offsetParent가 표시되도록 설정되지 않았을 수 있습니다. 즉, 자체가 null을 반환하기 때문에 아무 것도 표시하지 않을 수 있습니다.

+0

초기 관찰 결과의 오류에 대해 사과드립니다. 그들은 지금 정확합니다. 그러나 알려진 부모 표시는 결과를 수정하는 것처럼 보이지 않습니다. – Nick

+0

이것은 중요한 리드 인 것으로 판명되었습니다. 요소와 그 부모 모두로드되었고, 둘 다 style.display는 '블록'이었습니다. 그러나 둘 다있는 container div에는 style.display가 'none'으로 설정되어 있습니다. 도와 주셔서 감사합니다. 나는 분명히 누군가를 어딘가에 불쾌하게하는 질문을하기 위해 또 다른 -1을 견뎌야 만했던 수치 스럽지만, 나는 당신의 도움에 감사한다. – Nick