我正在构建一个站点,我想在其中使用 AJAX 将 HTML 页面上目标 div 中的内容替换为其他 HTML 页面上包含的 div 中的内容,并通过更改指向哈希的链接并附加到现有 url 来导航。
我可以使用以下 JQuery 代码来实现这一点,并使用 >load() 函数替换单个目标 div:
$(document).ready(function(){
$('.sf-menu a').bind('click', function(){
var url = $(this).attr('href');
$("#middle .center .inner").load( url + ' #middle .center .inner > *');
return false;
});
});
但是 .load() 的局限性在于它不能针对多个元素,这就是我需要做的。
如果我可以使用另一种方法以 .load 的工作方式替换目标 div 中的内容,那将是理想的,但是任何允许我用另一个页面的内容替换多个 div 中的内容的解决方案都将受到欢迎。
看来我可以按照这些思路做点什么:(忍受我……新的……)
$.get(URL, function(data) {
$("#content").html($(data).find('#middle .center .inner '));
$("#content").html($(data).find('#middle .right .inner '))
});
但是我可以找到的任何示例都将检索到的内容附加到某处,这仍然让我需要删除现有内容并且我不确定如何继续
然后有人建议我应该将 .ajax 用于这样的事情,所以从我看到的一些例子中,我正在寻找类似的东西:
$.ajax({
url: 'somepage.html',
dataType: 'html',
success: function(data) {
$('#middle .center .inner > *').html($(data).filter('#middle .center .inner').html());
}
但我无法让它发挥作用,所以我一定把它搞砸了。
关于我做错了什么或我应该关注的地方有什么建议吗?