base href to / - 现在href到ID不起作用

时间:2016-02-20 00:09:03

标签: html href root base

在我的html <head>中,我定义了以下<base>

<base href="/" target="_blank">

现在我无法链接到同一页面上带有ID的标签,例如:

<sup id="ref1" name="ref1"><a href="#fn1" target="_top">1</a></sup>

<p class="footnote" id="fn1" name="fn1">
    <a href="#ref1" title="back" target="_top">&#8617;</a>
</p>

指向ID的链接将我带回根目录而不是指定的ID。我可以以某种方式强制<a>元素在当前文档中查找ID而无需删除href="/"中的<base>吗?

1 个答案:

答案 0 :(得分:0)

尝试:

$(document).ready(function() {
    var pathname = window.location.href.split('#')[0];
    $('a[href^="#"]').each(function() {
        var $this = $(this),
            link = $this.attr('href');
        $this.attr('href', pathname + link);
    });
});

将修复所有链接或(没有jQuery)单个链接:

<a href="javascript:;" onclick="document.location.hash='anchor';">Anchor</a>

来源:Make anchor links refer to the current page when using <base>