我获取文件列表 ([ 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/