我取了一个id为formUpload的表单,用于上传文件。使用jQuery的ajax发送
var formData = new FormData($("#formUpload")[0]);
生成formData对象的时候为什么要在后面添加[0]
因为new FormData的参数需要一个HTMLElement类型的数据,而jQuery得到的是个HTMLElement的集合,哪怕只有一个元素。所以需要用[]取其第一个元素。
纠正一下:
jQuery是一个伪数组对象,本身是对象,能表现出来数组的特点: 有length属性,能够用下标取值;$(".someClass")
// 这个时候将所有匹配到DOM元素对象放在jQuery维护的数组中;$("#id")
// 这个时候将所有匹配到DOM元素对象放在jQuery维护的数组中;
在数组的特征外,jQuery还可以调用next(), last()等方法(返回结果也还是jQuery对象,jQuery链式功能);
所以:jQuery得到的是个HTMLElement的集合基础上的封装后的对象
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。