日期:2014-05-20  浏览次数:20636 次

好要命啊,JS运行IE老是提示错误,到底是哪里的问题,求救!
最最简单的JS代码,程序能够运行,能修改链接地址,但是就是IE老跳黄色的警告,说已完成,但网页上有错误。
网页错误详细信息:
用户代理: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)
时间戳: Sun, 13 Oct 2013 15:05:09 UTC
消息: 'attributes' 为空或不是对象
行: 9
字符: 17
代码: 0
URI: http://www.test.com/test.js

运行环境XP,浏览器IE8,求指点。实在不知道错在哪儿?


alert('a');
function functest(){
alert('b');

var arr=document.getElementsByTagName("a");
var arrlen=arr.length;
for (i=0;i<=arrlen;i++) 
{
        var href=arr[i].attributes.getNamedItem("href").nodeValue;
if(href!='' && href.indexOf("test")>=0)
{
          arr[i].attributes.getNamedItem("href").nodeValue='http://www.test.com';}
}
};
functest();


------解决方案--------------------
for (i=0;i<=arrlen;i++) 

应该是 for (i=0;i<arrlen;i++) 
------解决方案--------------------
同意一楼。。
------解决方案--------------------
要学会debug
------解决方案--------------------
for (i=0;i<=arrlen;i++) 
i=arrlen 这个取不到值就报错了,楼主可以试着用firebug或IE的F12启动js调试,学习起来更快。
------解决方案--------------------
    var     .
------解决方案--------------------
越界了。
i<length 不是<=.