动态更改href并链接到url片段

时间:2016-08-29 15:49:53

标签: javascript html href document-ready

希望有人可以提供帮助。 我正在尝试动态更改页面上的href,然后将用户指向包含片段的URL:

$(document).ready(function(){
    if (document.location.pathname.indexOf('cab2') > -1){
        document.getElementsByClassName('resourceLink').setAttribute('href','http://www.myserver.net/cab2/#linkResources');
        } else {
            document.getElementByClassName('resourceLink').setAttribute('href','http://www.myserver.net/cab/#linkResources');
        };
});

在HTML中,我使用了以下几个链接:

<a class="resourceLink" href="" title="Link to Resources section" target="_blank">Resources</a>

我希望的是脚本会检查访问者用来到网站的网址,

虽然链接打开了基页(www.myserver.net/cab或cab2)而不是#fragment页面,但会发生什么。

我做错了什么? 谢谢你的兴趣。

1 个答案:

答案 0 :(得分:3)

.getElementsByClassName()会返回HTMLCollection,而不是单个元素。您可以使用.each()来迭代所有.resourceLink个元素,.attr()来设置href属性值

$(document).ready(function(){
   var link =  document.location.pathname.indexOf('cab2') > -1 ? "cab2" : "cab";
    $('.resourceLink')
    .each(function() {
       $(this)
       .attr('href','http://www.myserver.net/'+ link +'#linkResources')
    });
});