Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 更改页面上的所有链接_Javascript_Hyperlink - Fatal编程技术网

Javascript 更改页面上的所有链接

Javascript 更改页面上的所有链接,javascript,hyperlink,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/?redi

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

这是我正在使用的代码:

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
}
}
window.onload=function(){
/*加载代码*/
var archors=document.getElementsByTagName(“a”);
对于(var i=0;i
它适用于以下链接:

<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
}
}
window.onload=function(){
/*加载代码*/
var archors=document.getElementsByTagName(“a”);
对于(var i=0;i
使用

而不是

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>
var-anchors=document.getElementsByClassName(“动态链接”);

让我知道这是怎么回事好吗?

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

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

您好,很抱歉有一个输入错误,是的,我正在使用“a”而不是“class”,但它仍然不会更改使用class的链接。您好,很抱歉有一个输入错误,是的,我正在使用“a”而不是“class”,但它仍然不会更改使用class的链接。在下一个答案中找到我的建议尝试使用第一个锚点[I]。removeAttribute(“href”);然后设置它。可以触发document.onload,而不是window.onload。如果您将代码提供到JSFIDLE或JSBIN中会更好——我想更改链接的页面是否在iframe中?我认为CSS可以混合一些我上面写过的东西。JS对我来说还不错,但我不确定iFrame。您可以通过在函数的开头放置一个alert()来检查JavaScript是否被命中,并检查它是否在函数的结尾添加了另一个alert来完成整个过程。
$('a').attr("href", "http://www.google.com/")