[英]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.