在javascript中分配id的正确方法

时间:2018-04-30 07:27:39

标签: javascript

在我的页面上,有20个html输入元素,其id为idx1,idx2,idx3 ..... idx20。我使用以下函数迭代20项以获取它们的值。这可能不是最佳方式。显然,它会抛出Uncaught TypeError: Cannot read property 'value' of null错误。我分配id的方式是错误的。做正确的方法是什么?

function chkit(){
    var rs = "idx";
    for (c=1; c<21; c++) {
        rs += c;
        var an = document.getElementById(rs).value;
        return an;
    }
}

1 个答案:

答案 0 :(得分:0)

您错过了在var rs循环中将idx重新初始化为var rs = "idx"; for。因此,请从

更改您的代码
function chkit(){
  var rs = "idx";
  for (c=1; c<21; c++) {
    rs += c;
    var an = document.getElementById(rs).value;
    return an;
  }
}

function chkit(c){
    var rs = "idx" + c;
    var an = document.getElementById(rs).value;
    return an;
}
for (c=1; c<21; c++) {
   var value = chkit(c);
   console.log(value);
}

现在for循环将调用函数chkit(),使其不会像在for循环中那样从第一次迭代返回。使用它会始终将rs的值设置为"idx" + c,以使其idx1idx2idx3等等。使用这些值,代码document.getElementById(rs).value;将正常运行,您将无法获得该错误。