jQuery的行为附加在for循环中

时间:2017-11-09 08:05:29

标签: javascript jquery

我对for循环中jQuery的.append()方法的行为感到困惑。

此代码在div元素上附加并显示文件名。它运行正常,但我正在阅读代码,我理解文件名在循环时依次序列附加/一个接一个地附加。但是看起来它们会在循环结束后一起显示出来。我还试图通过警报来拦截它。

为什么会这样?

$("#fileInput").on("change", function() {
    $(".input-feedback").html('');

    for(var i = 0; i < this.files.length; i++) {
        var file = this.files[i];
        console.log(file.name);

        alert('test');
        $(".input-feedback").append("<p>"+ file.name +"</p>");
    }
});

1 个答案:

答案 0 :(得分:0)

一次添加一个文件,但......

通常浏览器会等到js代码运行完成并且js空闲等待事件才能执行dom渲染(这取决于浏览器,运行的事件类型以及应用的DOM更改)。 / p>

如果您想查看每个项目的确定方式,那么最好的方法是使用setTimeout或setInterval异步运行代码。

相关问题