从href jquery加载一个特定的div

时间:2015-06-09 17:47:37

标签: javascript jquery

我知道如何使用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

但这似乎不起作用。它加载整个页面。我做错了什么?

3 个答案:

答案 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]);