JS麻烦迭代HTMLCollection

时间:2018-02-13 23:59:30

标签: javascript html django

这应该是非常直截了当的。我有一个循环,它的工作原理,以及一个使用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");
}

提前致谢。

0 个答案:

没有答案