2013-06-25 165 views
0

正常工作,我写了这个代码对于链接重定向,但问题的代码就引发只有第一种情况下省略了其他案件switch语句开关的情况下没有在JavaScript

<script type="text/javascript"> 
window.onload = function() { 
    var links = document.getElementsByTagName("a"); 
    for (var i = 0; i < links.length; i++) { 
     var string = links[i].href; //href value 
     var str = string; 
     var spl = string.split("/"); 
     switch (spl[2]) { 

      case 'www.google.com': 
       var str1 = "http://yahoo.com"; 
       links[i].target = "_blank"; 
       var m = links[i].addEventListener("mouseup", function() { 
        window.open(str1) 
       }, false); 
       return (m); 
       break; 

      case 'www.ebay.com': 
       var str1 = "http://yahoo.com"; 
       links[i].target = "_blank"; 
       var m = links[i].addEventListener("mouseup", function() { 
        window.open(str1) 
       }, false); 
       return (m); 
       break; 

      default: 
       links[i].href = string; 
     } 

    } 
} 
</script> 

HTML:

<a href="http://www.google.com/">www.google.com</a></br> 
<a href="http://www.ebay.com/">www.ebay.com</a></br> 
+2

您的代码在前两个“case”之间重复,您是不是要这么做? – Ian

+0

它是谷歌工作,但它不适用于易趣链接重定向 – user2520639

+1

为什么你有'return'语句在那里?他们将退出'onload'函数处理程序,所以当然它只访问循环中的第一个锚元素 – Ian

回答

0

从上面的代码中删除返回(m)。它应该工作正常。这是第一次通话后的回报。

0

由于您在这里有return(m);,它从那里返回并且不执行其余的代码。你可以在返回语句后加上alert("Hi");来测试它。这alert不应该适用于您的代码。

<script type="text/javascript"> 
window.onload = function() { 
    var links = document.getElementsByTagName("a"); 
    for (var i = 0; i < links.length; i++) { 
     var string = links[i].href; //href value 
     var str = string; 
     var spl = string.split("/"); 
     switch (spl[2]) { 

      case 'www.google.com': 
       var str1 = "http://yahoo.com"; 
       links[i].target = "_blank"; 
       var m = links[i].addEventListener("mouseup", function() { 
        window.open(str1) 
       }, false); 
       break; 

      case 'www.ebay.com': 
       var str1 = "http://yahoo.com"; 
       links[i].target = "_blank"; 
       var m = links[i].addEventListener("mouseup", function() { 
        window.open(str1) 
       }, false); 
       break; 

      default: 
       links[i].href = string; 
     } 

    } 
} 
</script>