我需要一些关于纯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>
...
答案 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
。