使用 "document.getElementsByClassName" 自动生成变量并获取值

Generate automatically variable and get values usign "document.getElementsByClassName"

我是java脚本初学者,所以不要对我生气;)

为了简化我的代码,我想自动生成变量并影响它们的当前值以便进一步使用它们。

我所做的和工作的(但我在各种文档上有很多变化的变量):

Html : 输入 a,b,c,... id a,b,c,...

a = Number($('#a').val());
b = Number($('#a').val());  
c = Number($('#c').val());
...

我正在尝试做什么:

Html :向我要生成的所有输入添加 class 'test'

var elements = document.getElementsByClassName('test');
elementsLength = elements.length;  
for (var i = 0 ; i < elementsLength ; i++) {
elements[i].value = Number($("#"+elements[i].id).val());
}

elements[i].value = Number($("#"+elements[i].id).val());

部分肯定有问题

因为我调用变量a、b或c时,还没有生成。 循环后,

alert (a);

returns [object HTMLInputElement] 而不是我想要得到的值 ;(

我从昨天开始搜索,我松了。 谢谢你们的支持。 ++

似乎您想将 INPUTS 的值保留在变量中。我建议您创建一个对象,即 obj 并根据输入创建属性。

var obj = {};
$('button').on('click', function() {
  $('.test').each(function() {
    obj[$(this).prop('id')] = Number($(this).val());
  });
  
  //For debugging
  console.clear();
  console.log(obj);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="a" class="test">
<input type="text" id="b" class="test">
<input type="text" id="c" class="test">

<button type="button">Click me</button>