使用jQuery的load()方法未正确加载内容

时间:2017-09-17 17:49:54

标签: jquery ajax

我有一系列用<section id="content></section>标签包装的页面。单击链接时,我只想重新加载该内容部分,而不是页眉或页脚。当我使用这个jQuery代码时,内容部分被删除但从未重新填充该新页面中的内容:

$('.link').on('click', function(e) {
    e.preventDefault();
    var url = this.href;
    $('#content').remove();
    $('#content').load(url + ' #content').hide().fadeIn('fast'); 
});

这是一个基本的Ajax问题,但我是新手使用Ajax并且不确定我在哪里出错/如果有更简单的解决方案来实现这一点。

1 个答案:

答案 0 :(得分:0)

$('#content').remove();会破坏#content元素,因此您在不再存在的元素上调用load(),因此没有任何反应。

要将此更改remove()修改为empty()

$('#content').empty().load(url + ' #content *').hide().fadeIn('fast'); 

另请注意,我已将load()中的选择器修改为#content *,否则您将最终复制#content元素,这将不太理想。