getElementsByName赢得't在整个数组中循环
getElementsByName won't loop through entire array
以下代码在按下按钮时执行。它可以很好地提醒getElementsByName数组的一个字符串,但当引入循环时,它仍然只提醒第一个字符串值,而不是更多:
function checkvals() {
var input = document.getElementsByName('ModuleTitle', 'ModuleCode', 'BuildingName', 'Day');
var i = 0;
for (i = 0; i <= input.length; i++){
alert(input[i].value);
}
}
这是因为getElementsByName
只接受一个参数,所以它只获取第一个名称。
你可以建立这样一个完整的集合。。。
var names = ['ModuleTitle', 'ModuleCode', 'BuildingName', 'Day'];
var input = [];
for(var i = 0; i < names.length; i++) {
var name_els = document.getElementsByName(names[i]);
for(var j = 0; j < name_els.length; j++) {
input.push(name_els[j]);
}
}
然后在input
数组上循环(或者只在内部循环中完成工作)。
此外,您还有一个bug。
这个。。。
for (i = 0; i <= input.length; i++){
应该是这个。。。
for (i = 0; i < input.length; i++){
否则,您将超过最后一个索引。
这是因为getElementsByName
只接受单个name
参数,并为其name
属性返回具有该值的所有元素。(请参见https://developer.mozilla.org/en/DOM/document.getElementsByName.)如果要查找多个name
,则必须多次调用它。
相关文章:
- javascript:数组循环
- 如何将数组循环到JSON代码中
- 而与数组循环
- JavaScript 数组/循环不起作用
- AJAX在数组循环中调用,只在上一次完成后调用next
- 数组循环以获取单个值
- JavaScript数组循环
- Javascript 2D数组循环停止
- 通过Javascript中的JSON数组循环
- 为什么以下 forEach 数组循环未返回未定义
- 如何在数组循环中过滤数据
- 如何在数组循环 222 中过滤数据
- 数组循环以确定范围平均值
- 对象的数组循环
- 对象键及其值的数组循环
- 虽然的缺点!未定义的数组循环
- 数组循环导致无限循环
- 数组循环 - 处理下拉列表中的空值
- 在 Node 中连接数组循环.js glob 结果
- JavaScript 图像数组循环