2010-04-28 114 views
3

我在我的網站上有一個頁面,當前通過ajax加載html。 JQuery是:JQuery Ajax幫助

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

});

和HTML是:

<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> 

這工作得很好,但我的需求發生了變化,我想拉我加載到#work DIV頁面的特定區域。所以我想說當.project a被點擊時,將#this div的內容從this.href加載到#work中。任何人都可以將我指向正確的方向嗎?

回答

6

看一看Loading Page Fragments部分。您可以通過向url字符串添加選擇器來將目標的部分目標加載。

的.load()方法,不像$獲得(), 允許我們指定的 遠程文檔的一部分插入。 是通過 url參數的特殊語法實現的。如果 字符串中包含一個或多個 空格字符,則在第一個空格後面的字符串 的部分被假定爲 是一個jQuery選擇器, 確定要加載的內容。

$('#result')。load('ajax/test.html #container');

當此方法執行時,它 檢索的 AJAX /的test.html的內容,但隨後的jQuery解析 返回的文檔找到與容器的ID的 元件。這個 元素及其內容是 插入元素的ID爲 的結果,並且 的其餘部分將被丟棄。

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

哇,你每天都會學到一些東西。你不愛jQuery :) – Matt 2010-04-28 13:15:17

+0

這真的很不錯。 – 2010-04-28 13:18:36

+0

@digitaldreamer感謝幫助的人 – mtwallet 2010-04-28 13:21:35

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

    event.preventDefault(); 
});