扫码关注官方订阅号
我取了一个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链式功能);
next()
last()
所以:jQuery得到的是个HTMLElement的集合基础上的封装后的对象
jQuery得到的是个HTMLElement的集合基础上的封装后的对象
JQ取得是个数组,js取出和试用得应该是个HTMLElement对象;所以+[0]从jq 得数组里取element得对象;
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
纠正一下:
jQuery是一个伪数组对象,本身是对象,能表现出来数组的特点: 有length属性,能够用下标取值;
$(".someClass") // 这个时候将所有匹配到DOM元素对象放在jQuery维护的数组中;
$("#id") // 这个时候将所有匹配到DOM元素对象放在jQuery维护的数组中;
在数组的特征外,jQuery还可以调用
next()
,last()
等方法(返回结果也还是jQuery对象,jQuery链式功能);所以:
jQuery得到的是个HTMLElement的集合基础上的封装后的对象
因为new FormData的参数需要一个HTMLElement类型的数据,而jQuery得到的是个HTMLElement的集合,哪怕只有一个元素。所以需要用[]取其第一个元素。
JQ取得是个数组,js取出和试用得应该是个HTMLElement对象;所以+[0]从jq 得数组里取element得对象;