2012-07-03 5 views
2

페이지를 다시로드하지 않고 $ .get을 사용하여 페이지를로드하려고합니다.jQuery/Javascript가있는 문자열 필터링

<script> 
$('#top_links a').click(function (e) { 
    e.preventDefault(); 
    var link = $(this).attr('href'); 
    $('#content').empty(); 


    $.get(link, { }, 
     function(data) { 
      $('#content').empty().append(data); 
     } 
    ) 
}); 
</script> 

이 작동하지만 전체 요청 된 페이지가 #content로 채워지고 있습니다. 아약스 요청을 감지하고 서버 측에서 데이터를 필터링하는 대신 클라이언트 측에서 처리하고 싶습니다. 효과적으로 div를 얻을 수 있도록 문자열을 효과적으로 필터링하는 데 javascript를 사용하는 방법이 있습니까? 보존하려는 컨텐트는 모두 #content (현재 페이지의 #content을 요청 된 페이지의 #content으로 바꾸려고하는 div의 내부에 포함됩니다.)

답변

2

페이지 단편 로딩 load 방법을 시도는 접근 :

여기
$("#content").load(link + " #content > *");​​​​​​​​​​​ 

우리는 (그것을 here을에 대한 자세한 정보를 확인 <div id="content"></div>와 주변없이 #content 블록의 내부 HTML을 포함하기 위해 > *을 사용할 수 있습니다).

2

페이지에서 요소를 수행하는 것과 같은 방법으로 get에서 반환 된 데이터를 조작 할 수 있습니다. 예를 들어

:

$('#content').replaceWith($(data).find("#content"));