我知道如何使用jquery将完整的html页面加载到div中,但是如何从页面加载一个div呢?这是我的剧本:
<a class="help" href="help.htm#help-one">Help message one</a>
当用户点击带有帮助类的链接时,我希望它加载具有特定ID的div。
所以链接看起来像这样:
<div id="help-one">Help message one</div>
应该从help.htm加载这个div:
$_REQUEST
但这似乎不起作用。它加载整个页面。我做错了什么?
答案 0 :(得分:1)
加载特定的div应如下所示
.load('help.htm #help-one')
如果没有空格,#help-one将被视为URL片段。
你可以做这样的事情作为快速修复。
var href = this.href.replace('#', ' #'); // <--- replace '#' with ' #'
$('.overlay').load(href, function() {
});
答案 1 :(得分:1)
我会略微改变你的代码......
$('.open-alert,.help').click(function (e) {
var $this = $(this),
target = $this.attr('data-target'),
$(".overlay").fadeIn();
$('.overlay').load(target);
$("body").addClass("masked");
});
和html:
<a class="help" data-target="help.htm #help-one" href="javascript:void(0);">Help message one</a>
注意data-target
中的空格......这很重要。此外,以这种方式执行此操作可以更清楚地在单击链接时代码的用途。
答案 2 :(得分:0)
尝试使用
var href= $(this).attr('href');
var splitit = href.split('#');
$('.overlay').load(splitit[0]+' #'+splitit[1]);
在一行
$('.overlay').load(($(this).attr('href').split('#'))[0]+' #'+($(this).attr('href').split('#'))[1]);