繁体   English   中英

使用jQuery在锚链接之前添加当前页面URL

[英]Add Current Page URL Before Anchor Link Using 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>

您可以使用以选择器开头的CSS属性:

而不是选择"a" ,而是选择'a[href^="#"]'意思是“带有以#开头的href属性的标签。

所以像这样:

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

(小提琴)

除了本杰明所说的内容,您还需要捕获每个锚点的当前href,这意味着您需要一个循环。 所以

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

像这样吗

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM