Javascript 是否可以从文件输入多个元素中删除单个值?

Javascript 是否可以从文件输入多个元素中删除单个值?,javascript,jquery,html,Javascript,Jquery,Html,我试图删除或以某种方式使多个文件的单个输入中的单个值无效。假设我们有四个值 <input id="input" multiple="multiple" type="file" /> input = document.getElementById('input'); // So our four files are: input.files[0]; input.files[1]; input.files[2]; input.files[3]; input=document.getE

我试图删除或以某种方式使多个文件的单个输入中的单个值无效。假设我们有四个值

<input id="input" multiple="multiple" type="file" />
input = document.getElementById('input');
// So our four files are:
input.files[0];
input.files[1];
input.files[2];
input.files[3];

input=document.getElementById('input');
//因此,我们的四个文件是:
input.files[0];
input.files[1];
input.files[2];
input.files[3];
如果我想在不中断其他阵列的情况下从阵列中删除[1],我可以这样做吗?我尝试过拼接、将值设置为NULL、更改名称等等。这些似乎都不起作用(当元素保持readonly=false时),Jquery的remove函数会删除整个元素,因此不起作用。
非常感谢您的帮助

我很好奇为什么拼接不起作用。通常,这很容易做到:

var list = [4,5,6];
list.splice(1,1);
console.log(list); // [4,6]
如果这不起作用,我想知道结果是什么

编辑

顺便说一句,您需要使用:

var input = document.getElementById('input');

您必须使用“var”来声明变量。

它是。

它不起作用,因为(a)
files
属性(在甚至支持它的浏览器中)是一个文件列表集合而不是数组,因此,与NodeList等其他DOM类型一样,它没有
splice
方法。(b)正如jleedev发布的,文件列表是只读的。故意这样做,以尽量减少与高度安全敏感的文件上载字段的交互。另外@Luwe:one不必用
var
声明她的变量。这是一个很好的实践,如果不这样做,它们最终会进入全局范围,但不必这样做。以下是未捕获的结果TypeError:Object#没有方法“拼接”(来自chrome)这是否回答了您的问题?