我有一系列用<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并且不确定我在哪里出错/如果有更简单的解决方案来实现这一点。
答案 0 :(得分:0)
$('#content').remove();
会破坏#content
元素,因此您在不再存在的元素上调用load()
,因此没有任何反应。
要将此更改remove()
修改为empty()
:
$('#content').empty().load(url + ' #content *').hide().fadeIn('fast');
另请注意,我已将load()
中的选择器修改为#content *
,否则您将最终复制#content
元素,这将不太理想。