2010-04-28 3 views
3

현재 내 사이트에 ajax를 통해 HTML을로드하는 페이지가 있습니다. JQuery는 다음과 같습니다.JQuery Ajax Help

$(document).ready(function() { 
$('.projects a').click(function(event) { 
    $('#work').load(this.href); 
    event.preventDefault(); 
}); 

});

는과 HTML은 다음과 같습니다이 잘 작동하지만 내 요구 사항이 내가 내가 #work의 DIV에로드하고있어 페이지의 특정 영역을 끌어 싶습니다 변경

<div class="projects"> 
    <a href="work/link.html" title="blah" id="blah">blah</a> 

    <a href="work/link1.html" title="blah" id="blah">blah</a> 

    <a href="work/link2.html" title="blah" id="blah">blah</a> 
</div> 

. 그래서 .project a가 this.href의 #this div의 내용을 #work로로드 할 때 말하고 싶습니다. 누구든지 올바른 방향으로 나를 가리킬 수 있습니까?

답변

6

Loading Page Fragments 섹션을 살펴보십시오. 선택기를 url 문자열에 추가하여로드 할 페이지의 섹션을 지정할 수 있습니다. $ 갔지()와 달리

.load() 메소드

는 우리가 삽입 될 원격 문서의 일부를 지정할 수있다. 이 은 URL 매개 변수 에 대한 특수 구문을 사용하여 얻을 수 있습니다. 공백 문자가 문자열에 포함되어 있으면 문자열의 첫 번째 공백 뒤에 오는 부분은 이로드 할 내용을 결정하는 jQuery 선택자가되도록 으로 간주됩니다.

$ ('# 결과') 부하 ('아약스/test.html를 #container.');

이 메소드가 실행

, 그것은 는 AJAX/인 test.html의 내용을 검색하고, 그러나 jQuery를 는 컨테이너의 ID와 요소를 찾아 반환 된 문서를 파싱한다. 이 요소는 내용과 함께, ID가 결과로 소자 에 삽입되고, 검색된 문서의 나머지는 버려진 다.

$('#work').load(this.href + ' #this'); 
+0

와우, 당신은 매일 뭔가를 배웁니다. 당신은 jQuery를 좋아하지 않아 :) – Matt

+0

이것은 정말 좋은 것입니다. 도움말 사람에 대한 –

+0

@digitaldreamer 감사 – mtwallet

0
$(document).ready(function() { 
    $('.projects a').click(function (event) { 
     jQuery.get(this.href, function (response) { 
      $('#work').empty().append($(response).find('#myDiv')); 
     }); 
    }); 

    event.preventDefault(); 
});