2010-04-28 225 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(); 
});