2013-08-21 2 views
0

문제가 있습니다.jQuery 클래스 속성을 제거한 후 HTML 태그의 외부 페이지로드

<div id='somePageDiv'> 
    <h3> 
     Loaded div is 
     <span class='grCtrl'>this</span> 
    </h3> 
</div> 

그래서 문제가 (메인 페이지) 원래 사업부에서, 방법은 작업이다) (제거한다는 것입니다 : 내 메인 페이지에서 다음 코드

<script> 
window.ctrl = <?php echo $ctrl; ?> // this return false or true 
if (! window.ctrl) { 
    $('.grCtrl').remove() 
} 
var le = 'somePage.php'; 
$('#loadingDiv').load(le); 
</script> 

<div id='originalDiv'> 
    <h3> 
     Original div is 
     <span class='grCtrl'>this</span> 
    </h3> 
</div> 

<div id='loadingDiv'></div> 

그리고 지금 somepage.php이 #loadingDiv의로드 된 페이지에서 작동하지 않습니다.

누군가 내가 왜 그렇게 설명해야하는지 알면 의무를지게 될 것입니다. 감사합니다. 레오

+1

아직 DOM에로드되지 않은 요소를 코드에서 제거 할 것으로 기대하십니까? 로드 후 remove를 놓기 만하면 동적으로로드 된 내용을 말한 것과 마찬가지로 –

+1

이 잘 작동하므로 이벤트 위임 .... .on() 또는 .live() 또는 .delegate()를 사용해야합니다. '또는'.bind()'.... 나는'.on()'을 선호한다. –

+0

upss : | ... 지금은 볼 수 있습니다. (너무 피곤합니다. 부끄러운 줄 알아요! –

답변

1

제거를 실행 한 후에로드되기 때문에 생각합니다.

시도해보십시오.

<script> 
window.ctrl = <?php echo $ctrl; ?> // this return false or true 
if (! window.ctrl) { 
    $('.grCtrl').remove() 
} 
var le = 'somePage.php'; 
$('#loadingDiv').load(le, function(){ 
    if (! window.ctrl) { 
     $('.grCtrl').remove() 
    } 
}); 
</script> 
+1

같은 코드를 반복하는 대신 이벤트 위임을 사용할 수 있습니다. –

+0

감사합니다.이 대답을 수락 할 것이지만 이벤트 위임을 사용합니다. @Dipesh suggested as –

+0

@DipeshParmar 당신은 주목할만한 포인트를 만들지 만 예제를 볼 수 있습니까? –

관련 문제