javascript - HTML5 FileList 和 JQuery 各自

标签 javascript jquery file html each

我获取文件列表 ([ http://www.w3.org/TR/FileAPI/#dfn-filelist]),然后我想使用 JQuery 的 each 函数。

var file_list = $(this).attr('files');
/* Code goes here */
file_list.each(function()
{
/* Code goes here */

我收到以下错误:

Uncaught TypeError: Object #<FileList> has no method 'each'

有什么想法吗?谢谢。

最佳答案

这是因为 $(this).attr('files'); 只返回纯 DOM 文件列表,而不是 jQuery 对象。

要么你需要用老式的方式遍历它:

for(var i=0,file;file=file_list[i];i++) {
 //do your thing
}

或者你可以使用 $.each:

$.each(file_list,function(idx,elm){
     //do your thing
});

请注意 $.each 比普通的 for 循环慢,在这种情况下给您带来的便利很少,所以我会坚持使用 for 循环。

关于javascript - HTML5 FileList 和 JQuery 各自,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5313575/

相关文章:

javascript - 我可以/应该在 cordova 应用程序中下载 html5 代码吗?

javascript - 努力使用 ordinalScale() || 实现带标签的 x 刻度scaleBand() (d3 v4)

jquery - 你怎么知道滚动条已经到达页面底部

javascript - event.keycode 与 event.which

c - 如何使用 fgets() 从文件中提取一行文本?

file - 执行上传时未定义的文件属性

javascript - 显示内容 Onclick 而不重新加载/刷新页面

javascript - Firefox SVG 变换原点仍未修复?

jquery - 如何在剑道网格中加载大量数据

ruby-on-rails - File.read 返回 nil