首页 > 解决方案 > 在javascript中分配id的正确方法

问题描述

在我的页面上,有 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;
    }
}

标签: javascript

解决方案


您错过了在循环中重新初始化var rsidxas 。因此,将您的代码从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循环中那样从第一次迭代中返回。使用它将始终设置 to 的值rs"idx" + c使其成为idx1idx2idx3依此类推。使用这些值,代码document.getElementById(rs).value;将正常工作,您不会收到该错误。


推荐阅读