我想更改页面上的所有链接,它适用于没有类的链接,但它不适用于具有类的链接。
这是我正在使用的代码:
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>
答案 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/")