【发布时间】:2013-06-25 15:18:37
【问题描述】:
我已经为链接重定向编写了这段代码,但是代码的问题是它只触发了第一种情况,它在 switch 语句中省略了其他情况
<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>
【问题讨论】:
-
您的代码在前两个
cases 之间重复,您的意思是这样做吗? -
它适用于谷歌,但不适用于 ebay 链接重定向
-
你为什么在里面有
return声明?他们将退出onload函数处理程序,所以它当然只访问循环中的第一个锚元素 -
对于这个网站上提出的许多问题,我想知道开发人员是否可以使用常见的 Javascript 调试工具,或者他们是否只是编辑和刷新...尝试在 Chrome 中按 F12 或Internet Explorer 9+ 以获得一些非常有用的代码调试工具。
-
谁能帮我为 Internet Explorer 编写这段代码...只是因为我是新人 2 java-script n 不太了解它
标签: javascript switch-statement case