Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript中分配id的正确方法_Javascript - Fatal编程技术网

javascript中分配id的正确方法

javascript中分配id的正确方法,javascript,Javascript,在我的页面上,有20个html输入元素,它们的ID分别命名为idx1、idx2、idx3…..idx20。我使用下面的函数迭代20个项目以获得它们的值。这可能不是最好的方法。显然,它抛出了uncaughttypeerror:cannotreadproperty'value'的nullerror。我分配id的方式是错误的。正确的方法是什么 function chkit(){ var rs = "idx"; for (c=1; c<21; c++) { rs +

在我的页面上,有20个html输入元素,它们的ID分别命名为idx1、idx2、idx3…..idx20。我使用下面的函数迭代20个项目以获得它们的值。这可能不是最好的方法。显然,它抛出了
uncaughttypeerror:cannotreadproperty'value'的null
error。我分配id的方式是错误的。正确的方法是什么

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

对于(c=1;c您错过了将
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;
  }
}
函数chkit(){
var rs=“idx”;

对于(c=1;cDon不要将ID用于类似的东西-将所有有问题的
input
s指定为一个公共类名。您应该在函数chkit中初始化c。这样它就不会污染全局范围。chkit也是一个不好的命名,ch代表什么?将来另一个开发人员将很难理解ch是什么。另外,
return an;
使函数只迭代一次为什么要进行双附加。为什么不只是
var rs=“idx”+c;
?@Jamiec nice one。接受您的建议您可能还想指出,循环中的
返回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);
}