在我的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">↩</a>
</p>
指向 ID 的链接将我带回根目录,而不是指定的 ID。我可以以某种方式强制<a>
元素在当前文档中查找 ID,而不必删除<base>
中的href="/"
吗?
尝试:
$(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>
来源:使用