Javascript-按类获取元素&;文件[0]

Javascript-按类获取元素&;文件[0],javascript,file-upload,this,Javascript,File Upload,This,因此,我试图通过类获取一个元素,然后存储文件[0]。然后我尝试使用文件[0]功能处理文件上载。当我执行以下操作时,在firebug控制台中会出现错误:“field.files未定义” document.querySelector('#afile').addEventListener('change', function(e) { var field = document.getElementsByClassName('File'); var file = field.files[0]; 当我将

因此,我试图通过类获取一个元素,然后存储文件[0]。然后我尝试使用文件[0]功能处理文件上载。当我执行以下操作时,在firebug控制台中会出现错误:“field.files未定义”

document.querySelector('#afile').addEventListener('change', function(e) {
var field = document.getElementsByClassName('File');
var file = field.files[0];
当我将代码更改为以下代码时,它会起作用

document.querySelector('#afile').addEventListener('change', function(e) {
var file = this.files[0];

所以我认为问题在于var file=field.files[0]。我需要用类名而不是“this”来抓取这个。有人能帮我用类名而不是“this”抓取元素吗。谢谢。

getElementsByClassName()
是复数。
它返回一个元素数组。

您需要从该数组中获取一个项。

GetElementsByCassName()
是复数。
var field = document.getElementsByClassName('File');
var file = field[0].files[0];
它返回一个元素数组。

您需要从该数组中获取一个项。

GetElementsByCassName()
是复数。
var field = document.getElementsByClassName('File');
var file = field[0].files[0];
它返回一个元素数组。

您需要从该数组中获取一个项。

GetElementsByCassName()
是复数。
var field = document.getElementsByClassName('File');
var file = field[0].files[0];
它返回一个元素数组。
您需要从此数组中获取一个项

var field = document.getElementsByClassName('File');
var file = field[0].files[0];
正如我所评论的
getElementsByClassName()
返回节点列表。SLaks也这么说。这是一个粗糙的物体。您可以像通过索引访问常规数组一样访问it成员<代码>节点列表[索引]

仔细想想,这是合乎逻辑的。类名可以由多个元素使用。因此,当您通过此方法选择时,期望多个结果是合乎逻辑的

正如我所评论的
getElementsByClassName()
返回节点列表。SLaks也这么说。这是一个粗糙的物体。您可以像通过索引访问常规数组一样访问it成员<代码>节点列表[索引]

仔细想想,这是合乎逻辑的。类名可以由多个元素使用。因此,当您通过此方法选择时,期望多个结果是合乎逻辑的

正如我所评论的
getElementsByClassName()
返回节点列表。SLaks也这么说。这是一个粗糙的物体。您可以像通过索引访问常规数组一样访问it成员<代码>节点列表[索引]

仔细想想,这是合乎逻辑的。类名可以由多个元素使用。因此,当您通过此方法选择时,期望多个结果是合乎逻辑的

正如我所评论的
getElementsByClassName()
返回节点列表。SLaks也这么说。这是一个粗糙的物体。您可以像通过索引访问常规数组一样访问it成员<代码>节点列表[索引]


仔细想想,这是合乎逻辑的。类名可以由多个元素使用。因此,当您通过此方法选择时,期望得到多个结果是合乎逻辑的。

Classname返回节点列表使用字段[0]。文件。其中0是第一个元素。Classname返回节点列表使用字段[0]。文件。其中0是第一个元素。Classname返回节点列表使用字段[0]。文件。其中0是第一个元素。Classname返回节点列表使用字段[0]。文件。其中0是第一个元素。