繁体   English   中英

更改页面上的所有链接

[英]Changing all links on page

我想更改页面上的所有链接,它可以用于没有类的链接,但是不能用于具有类的链接。

这是我正在使用的代码:

window.onload = function() {
       /* onload code */

var anchors = document.getElementsByTagName("a");

for (var i = 0; i < anchors.length; i++) {
    anchors[i].href = "http://www.example.com/?redirect=" + anchors[i].href
}
}

它适用于以下链接:

<a id="box-left" href="http://www.google.com"></a>

但这不起作用:

<a class="links" href="redirect.php?link=125411" onclick="launch();" target="_blank"></a>

我认为正确的功能应该是:

window.onload = function() {
   /* onload code */

var anchors = document.getElementsByTagName("a");

for (var i = 0; i < anchors.length; i++) {
    anchors[i].href = "http://www.mysite.com/?redirect=" + anchors[i].href
}
}

采用

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

代替

var anchors = document.getElementsByTagName("class");

顺便说一句,我建议您使用jquery选择dom元素。

我测试了发布的代码,它对我有用。
我将javascript放在标签中,并将链接放在正文中。
页面上可能还有其他干扰。

也许您有些怪异的CSS鞭子将此内容与此class =“ links”属性的某些内容混合在一起? 您也可以尝试将类别添加到两种链接中,然后按类别进行选择。

var anchors = document.getElementsByClassName("dynamic_links");

<a id="box-left" class="dynamic_links" href="http://www.google.com"></a> 

<a class="links dynamic_links" href="redirect.php?link=125411" onclick="launch();" target="_blank"></a>

让我知道这好吗?

如果您使用的是jQuery,则其操作非常简单:

$('a').attr("href", "http://www.google.com/")

暂无
暂无

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

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