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

时间:2017-06-22 13:29:50

标签: javascript jquery getelementsbytagname

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

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

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

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

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

我想做的事情:

Html:添加一个类'测试'到我想要生成的所有输入

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);

返回[object HTMLInputElement]而不是我想要的值;(

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

1 个答案:

答案 0 :(得分:2)

似乎你想在变量中保留Sub CopyCommentsToCol() Dim Rng As Range Dim cell As Range Dim row As Range Dim commrange As Range Dim curwks As Worksheet Set Rng = Range("A2:A5") 'Test Range for now Set curwks = ActiveSheet On Error Resume Next Set commrange = curwks.Cells _ .SpecialCells(xlCellTypeComments) On Error GoTo 0 On Error Resume Next If Err.Number <> 0 Then Err.Clear End If For Each cell In commrange 'Application.ActiveCell.Comment If cell.Comment <> Empty Then Range("$U$" & cell.Row) = Range("$U$" & cell.Row).Text & cell.Comment.Text End If Next cell End Sub 的值。我建议你创建一个对象,即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);
});