2013-02-28 1 views
0

나는 모든 것이 완벽하게 작동하는 흥미로운 문제에 직면하고 있습니다. 나는 모든 단계마다 console.log를 기록하고 그것이해야 할 방식대로 진행된다. 그러나! 나는 .load (a-file.php)에 #div를 가지고있다. 이제 "a-file.php"에는 HTML 마크 업뿐만 아니라 좀 더 구체적으로 "활성"onload를 만들고 싶은 특정 링크가 포함됩니다.jQuery에서 .load() 처리 된 내용으로 아무 것도 할 수 없습니까?

시나리오; 페이지로드가 발생하면 Javascript가 div에 파일을로드하고로드합니다. 그 div 이제 탭이 있고 첫 번째 탭을 "활성"상태 addClass ('활성'); 필요로하고 싶습니다. 하지만 다음은 아무런 효과가없는 것 같습니다.

$('#content').load('file.php'); // works. 
$('#content a[rel="weird-page"]').addClass('active'); // does not work. 

어떤 종류의 도움도 원격으로 처리 할 수 ​​있습니다. 에

답변

1

변화 : 당신의 addClass() 방법은 load() 전에 호출되는 비동기 따라서 작동 load()

$('#content').load('file.php', function() { 
    $('#content a[rel="weird-page"]').addClass('active'); 
}); 
+0

당신, 선생님. 그리고 아마도 jQuery 사이트 자체에서 그 사실을 알게 될 것이라는 것을 깨달았지만 내 어리 석음은 여기에 질문을 대신합니다. 그 죄송합니다. – Codefoe

+0

@Codefoe는 코드 작성을 시작하기 전에 관련 문서/매뉴얼을 확인하는 습관을가집니다. 정말 도움이됩니다. 어쨌든 기쁘게 생각합니다. :) –

+0

할 것입니다! (그러나 나는 인정해야한다, 게으른 악마를 불러 와서 전문가의 도움을 받아서 대가를 받는다.) – Codefoe

1

jQuery를 완료했다. 이 콘텐츠를 확보 할 load() 콜백 함수를 사용

로드 :

$('#content').load('file.php', function() { 
    $(this).find('a[rel="weird-page"]').addClass('active'); 
}); 

뻔뻔한 플러그 - 경고

: 난 당신이 유용 할 수있는 blog post about jQuery callback functions을 썼다.

+0

당신의 대답은 내가받은 것보다 더 많은 가치가 있습니다. 그러나 그가 먼저 나서서 일을했기 때문에 "선착순"의 규칙이 적용됩니다. 그러나 상징적 감사의 요지는 요즘입니다. 고마워요. 게시물을 읽은 다음 장래에 잠재적 인 기억 상실에 북마크했습니다. – Codefoe

+0

@Codefoe 아무 문제 없어, 기꺼이 도와 주시고, StackOverflow에 오신 것을 환영합니다! 기록을 위해, 당신은 복수 응답을 up-vote 할 수 있습니다, 그러나 당신은 하나만 "받아 들일 수 있습니다". – Curt

+0

오른쪽! 나는 아직 마지막 투표권을위한 특권이 없기 때문에 상향 투표 대신에 "동의하다"라고 말하고자했다. 내가 거기에 간다면, 나는 나의 실수를 바로 잡을 것이다. 또한 따뜻한 환영에 감사드립니다. :) – Codefoe

관련 문제