使用jQuery在Anchor Link之前添加当前页面URL

时间:2014-03-14 19:57:47

标签: javascript jquery

我使用平台(Nationbuilder)自动添加标头中的基本标签。它直到最近才出现,现在有几十个带有锚链接的页面最终将用户发送到主页。

我需要使用jQuery在#anchor之前添加当前页面的url。我能找到的最接近的代码是以下代码,但我不知道如何修改它,因此仅修改以#开头的href属性的链接:

$("a").attr("href", "http://www.example.com/pageslug")

所以我想:

<a href="#anchorname"></a>

更改为:

<a href="http://www.example.com/pageslug#anchorname"></a>

3 个答案:

答案 0 :(得分:4)

您可以使用CSS属性以selector:

开头

不要选择"a",而是选择'a[href^="#"]'含义&#34;带有以#开头的href属性的标记。

类似于:

$('a[href^="#"]').each(function(i,el){
    el.href = "http://www.example.com/pageslug" + el.hash;
});

(fiddle)

答案 1 :(得分:3)

本杰明说的一个补充,你需要捕获每个锚点的当前href,这意味着你需要一个循环。所以

$('a[href^="#"]').each(function(index, element){
    var $ele = $(element),
        oldHref = $ele.attr('href');
    $ele.attr('href', '//example.com/page'+ oldHref);
});

答案 2 :(得分:0)

这样的东西?

$('a').attr('href', window.location.pathname + this.attr('href'))