[英]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.