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,可是报错了
我将代码变为
var a=new Array('"username"','"email"','"password"','"newpassword"');
for(var i=0;i<=4;i++){
var m=a[i];
console.log(m);
m="username";
console.log(document.getElementById(m).value);
}
就可以,想请问大家问题出在哪里,还是我哪里疏忽了。
按大家所说的我改为
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);
}
依然报错,不知道原因在哪里
Array放字符串,为什么要这样呢
...
var a=new Array('"username"','"email"','"password"','"newpassword"');
....
改为
var a=new Array("username","email","password","newpassword");
看看 console 的输出:
其实这样,已经是 string Array
document.getElementById('"domID"')
这样是拿不到值的,返回的null
;要获取一个
ID
元素,向楼上说的,把外面的单引号去掉;你第二个方法里面,针对
m="username"
可以,是因为for
循环的时候每次m
的值都是"username"
;而跟你的数组没有关系啦~问题1:数组越界。应该是for(var i=0;i<=a.length;i++)
问题2:数组中的元素,应该去掉双引号即可。