这应该是非常直截了当的。我有一个循环,它的工作原理,以及一个使用getElementsByClassName收集html代码的变量。
var inputs = document.getElementsByClassName('inputfile');
if (inputs)
console.log(inputs);
输出
HTMLCollection []
0: <input id="id_avatar" class="inputfile" name="id_avatar" data-multiple-caption="{count} files selected" multiple="" type="file">
id_avatar: <input id="id_avatar" class="inputfile" name="id_avatar" data-multiple-caption="{count} files selected" multiple="" type="file">
length: 1
它成功找到了我正在寻找的html片段。
接下来我尝试通过循环来提供它。
Array.prototype.forEach.call(inputs, function(input) {
console.log("running");
var label = input.nextElementSibling,
labelVal = label.innerHTML;
});
这不起作用。循环完全被查看,永远不会被执行。但是,如果我喂
var herp = ["1"];
进入循环,我会看到控制台打印日志“正在运行”。到底是怎么回事? Var输入有效迭代。为什么它被忽略和/或被视为空?
其他循环也不起作用,例如:
for (var i = 0; i < inputs.length; i++) {
console.log("Here we go");
}
提前致谢。