开发者社区> 问答> 正文

一个getElementById在for循环中的报错

var a=new Array('"username"','"email"','"password"','"newpassword"');
for(var i=0;i<=4;i++){
    var m=a[i];
    console.log(m);


console.log(document.getElementById(m).value);
 }

代码很简单,就是读数组中的字符串然后去getElementById,可是报错了

screenshot

依然报错,不知道原因在哪里

展开
收起
杨冬芳 2016-06-16 16:16:53 2099 0
1 条回答
写回答
取消 提交回答
  • IT从业

    知道原因了, 你的 条件 有问题
    for(var i=0;i<=4;i++){
    改为
    for(var i=0;i<4;i++){
    就好了.
    你的数组里只有4个元素,最大下标是4,而你让条件 可以 =4, 所以当取第4个的时候是undefined, 然后 就是null了,然后就是出错了.
    见截图(假设数组中的那几个都在页面中存在,即忽略 0-3时的null):
    screenshot

    2019-07-17 19:41:14
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载