将某些结尾添加到页面上的所有内部链接

时间:2015-09-12 13:28:55

标签: javascript

我需要一些关于纯JavaScript(不是jQuery!)的简单代码,它会为页面上的所有内部链接添加某些结尾(即,在其href属性中包含网站域的所有链接),如:

var pagelinks = document.getElementsByTagName('a');
for(var i in pagelinks) {
  if(pagelinks.getAttribute('href').indexOf(document.domain) != -1) {
    pagelinks[i].setAttribute('href',currenthref+'my_end');
  }
}

!!!注意:它没有正常工作的脚本 - 它只是"类似于"我需要的是什么

例如,页面上的内部链接是:

<a href="http//mysite.com/showcase">Showcase</a>
<a href="http//mysite.com/contacts">Contacts</a>
...

我需要

<a href="http//mysite.com/showcase?my_end">Showcase</a>
<a href="http//mysite.com/contacts?my_end">Contacts</a>
...

1 个答案:

答案 0 :(得分:2)

如果我理解你的问题是正确的,这就是你想要的:

var domain = 'www.youtube.com';

var pagelinks = document.getElementsByTagName('a');

for (var i = 0; i < pagelinks.length; i++) {

  var current = pagelinks[i].getAttribute('href');

  if (current.indexOf(domain) !== -1) {
    pagelinks[i].setAttribute('href', current + '?my_end');
  }
}

更新了小提琴:https://jsfiddle.net/cm69qmnL/6/

您必须指定要检查href属性的域,然后运行一个循环,检查每个锚点的href属性,根据指定的域进行检查并更新{{1}如果域名存在于href