更改页面上的所有链接

时间:2013-04-08 17:05:24

标签: javascript hyperlink

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

这是我正在使用的代码:

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>

5 个答案:

答案 0 :(得分:1)

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

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
}
}

答案 1 :(得分:0)

使用

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

而不是

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

BTW我建议你使用jquery来选择dom元素。

答案 2 :(得分:0)

我测试了代码,因为它已发布,对我来说很有用 我把javascript放在标签和正文中的链接中 也许页面上有其他东西在干扰。

答案 3 :(得分:0)

也许你有一些奇怪的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>

让我知道这个怎么样?

答案 4 :(得分:0)

如果您使用的是jQuery,它就像这样简单:

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