用于指定元素 ID 的正确 JavaScript 语法是什么
What is the correct javascript syntax for specifying element ID?
我有一堆用户输入要存储来自javascript。我喜欢循环访问一些计数器,因为它存储输入而不是一次分配一个。这是指定元素 ID 的正确语法吗?在这一点上它对我不起作用,并抱怨例如catMaxInput:[异常:引用错误:catMaxInput未定义]
var catInput = [], catMaxInput = [], catCostSFHR = [], catOccHRStart=[], catOccHREnd =[];
var z = 1;
for (var i=0; i<3; i++){
catMaxInput[i] = (Math.round(parseFloat(document.getElementById("cat'"" + z + "'"Max").value)));
z++;
}
for (var c=0; c<3; c++){
catTotalArea[c] = (Math.round(parseFloat(document.getElementById("cat'"" + z + "'"TotalArea").value)));
z++;
}
到目前为止,这是形式:
<tr>
<td>CAT 1</td>
<td><input name="data1Max4" type="text" id="cat1Max" value="20" /></td>
<td><input name="data1Max7" type="text" id="cat1TotalArea" value="50,000 SF" /></td>
<td><input name="data1Max10" type="text" id="cat1CostSFHR" value="$ 100.00" /></td>
<td><input name="data1Max13" type="text" id="cat1OccHRStart" value="6:00am" /></td>
<td><input name="data1Max16" type="text" id="cat1OccHREnd" value="12:00pm" /></td>
</tr>
<tr>
<td>CAT B</td>
<td><input name="data2Max5" type="text" id="cat2Max" value="70" /></td>
<td><input name="data2Max8" type="text" id="cat2TotalArea" value="20,000 SF" /></td>
<td><input name="data2Max11" type="text" id="cat2CostSFHR" value="$ 50.00" /></td>
<td><input name="data2Max14" type="text" id="cat2OccHRStart" value="12:00pm" /></td>
<td><input name="data2Max17" type="text" id="cat2OccHREnd" value="8:00pm" /></td>
</tr>
<tr>
<td>CAT C</td>
<td><input name="data3Max6" type="text" id="cat3Max" value="100" /></td>
<td><input name="data3Max9" type="text" id="cat3TotalArea" value="30,000 SF" /></td>
<td><input name="data3Max12" type="text" id="cat3CostSFHR" value="$ 0.00" /></td>
<td><input name="data3Max15" type="text" id="cat3OccHRStart" value="8:00pm" /></td>
<td><input name="data3Max18" type="text" id="cat3OccHREnd" value="6:00am" /></td>
</tr>
"cat'"" + i +"'"Max"
的结果是一个字符串,其值为 i
"
之间。
您可能需要将其"cat" + i +"Max"
.
您正在转义并在不需要的地方添加双引号。
var catInput = [], catMaxInput = [], catCostSFHR = [],
catOccHRStart=[], catOccHREnd =[];
for (var i=0; i<3; i++){
catMaxInput[i] = (Math.round(parseFloat(
document.getElementById("cat" + i +"Max").value)));
}
for (var c=0; c<3; c++){
catTotalArea[c] = (Math.round(parseFloat(
document.getElementById("cat" + c+ "TotalArea").value)));
}
替换:
getElementById("cat'"" + i +"'"Max")
getElementById("cat'"" + c+ "'"TotalArea")
跟:
getElementById("cat"+i+"Max")
getElementById("cat"+c+"TotalArea")
更新:在 ES6 中,您可以执行以下操作:
getElementById(`cat${i}Max`)
getElementById(`cat${c}TotalArea`)
有更好的方法可以做到这一点,例如:
如何在 javascript 中循环访问表行和单元格?
相关文章:
- Javascript语法向设置发出sessionStorage值
- 函数的Javascript语法
- 如何定义const函数javascript(语法糖)
- Onclick不会启动..可能存在javascript语法问题
- 用jquery替换javascript语法
- 在Javascript语法中:和::和:::有什么区别
- 如何以编程方式查找javascript语法错误的位置
- 这个javascript语法有什么问题
- Chrome 中的 JSX/JavaScript 语法
- Javascript语法 - 我做错了什么
- 用于指定元素 ID 的正确 JavaScript 语法是什么
- 这是什么JavaScript语法
- 带有函数的 JavaScript 语法
- 剃刀中的javascript语法错误
- 解析云代码geoPoint查询Javascript语法
- 在Notepad++中更好地突出显示Javascript语法
- 通用Javascript语法查询
- Joomla2.5框架似乎干扰了javascript语法
- 点击切换Divs/JavaScript语法
- 用于将变量传递给函数的javascript语法