2013-04-08 4 views
1

페이지의 모든 링크를 변경하려고합니다. 링크가없는 링크와 함께 작동하지만 클래스가있는 링크에서는 작동하지 않습니다.페이지의 모든 링크 변경

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

시도가 사용하는 최초의 앵커 [I] .removeAttribute ("HREF"); 그런 다음 설정하십시오. 그리고 window.onload 대신 document.onload를 사용할 수 있습니다. jsfiddle 또는 jsbin에 코드를 제공하면 더 좋을 것입니다. – Givi

답변

0

내가 생각

내가 사용하고있는 코드입니다 올바른 함수는 다음과 같아야합니다.

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

안녕하세요, 미안하지만 오타가 있었으며 "클래스"대신 "a"를 사용하고 있지만 여전히 클래스를 사용하는 링크는 변경하지 않습니다. – user1938320

0

사용

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

대신

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

의 BTW 난 당신이 DOM 요소를 선택 jQuery를 사용하는 것이 좋습니다.

+0

안녕하세요, 죄송합니다. 오타가 있었으며 "클래스"대신 "a"를 사용하고 있지만 여전히 클래스를 사용하는 링크는 변경하지 않습니다. – user1938320

+0

다음 답변으로 내 제안 찾기 – speedingdeer

0

나는 게시 된 코드를 테스트하여 저에게 효과적이었습니다.
자바 스크립트를 태그와 본문의 링크에 넣습니다.
페이지에 뭔가 다른 것이있을 수 있습니다.

+0

링크를 변경하려는 페이지가 iframe에있을 수 있습니까? – user1938320

+0

나는 CSS가 위에 쓴 것처럼 혼재 할 수 있다고 생각한다. JS는 나에게도 괜찮아 보인다 – speedingdeer

+0

iFrame에 대해 잘 모르겠습니다. 함수의 시작 부분에 alert()를두고 JavaScript가 끝날 때까지 다른 경고를 통해 완료되었는지 확인하여 JavaScript가 적중하는지 항상 확인할 수 있습니다. – RacerNerd

0

어쩌면 당신은이 class = "links"속성과 함께이 링크가있는 이상한 CSS 윅 믹스를 가지고 있을까요? 두 종류의 링크에 클래스를 추가하고 클래스별로 선택할 수도 있습니다.

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> 

이 ok는 무엇에 대해 알려주십시오. 당신이 jQuery를 사용하는 경우

0

이 아니라 그것의 간단 :

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