jQuery将#添加到所有内部链接

时间:2010-11-29 21:19:06

标签: jquery hash hyperlink

有人可以告诉我如何将哈希添加到页面上的所有内部链接吗?

例如:

page.html > page.html#

谢谢你, d

4 个答案:

答案 0 :(得分:4)

如果您只是想将#添加到同一域内网页的链接,则可以将hostname window.location与链接的$("a").attr("href", function(i, href) { if( window.location.hostname === this.hostname ) { return href + "#"; } }); 进行比较:

{{1}}

答案 1 :(得分:3)

您可以将功能传递给.attr(),如下所示:

$("a").attr("href", function(i, href) { return href + "#"; });

虽然......我不确定你的理由,你想滚动到当前页面的顶部吗?在这种情况下,您可以将.scrollTop()与setter一起使用,如下所示:

$("a").click(function() { $("html, body").scrollTop(0); });

.animate()

$("a").click(function() { $("html, body").animate({scrollTop: 0 }, 500); });

答案 2 :(得分:0)

$("a").each(function() {
  $this = $(this);
  $this.attr("href", $this.attr("href") + "#");
});

答案 3 :(得分:-2)

也许你可以试试这个:

$(document).ready(function() {
    var attr = $('a').attr('href');
    attr = attr + '#';
    $('a').attr('href', attr);
});