2012-07-03 69 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。我不想在服務器端檢測ajax請求並過濾數據,而是想在客戶端進行。有沒有辦法使用JavaScript來有效地過濾字符串,以便我只能得到某些div?我想保留的內容將全部包含在一個名爲#content的div中(我只是試圖將當前頁面的#content與請求的頁面的#content交換)。

回答

2

嘗試load方法與頁面片段的加載方法:

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

在這裏我們可以以包括#content塊內HTML使用> *唯一沒有與<div id="content"></div>周圍(檢查一下here更多信息)。

2

您可以像操作頁面上的元素一樣操作從get返回的數據。

例如:

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