前因:
在用jquery提交form表单时总是报错提示undenfine,后面网上搜索提示加个数组如:var formData = new FormData($(“#uploadImages”)[0]);
一试之后果然就好了
过程:
中间过了段时间就把这事忘了,今天再次用jquery准备获取src值时发现不对劲,要通过$(“#imgId”)[0].src才能获取到src的值,百度了下才发现自己的jquery学的有点菜
最后:
1、$(“#imgId”)获取到的是jquery对象,他没有dom对象的方法,比如src,因此需要把对象转化为dom,然后(“#imgId”)[0].src获取值
2、修改src属性可以这样,attr是jquery对象的方法:(“#imgId”).attr(‘src’,path);
此处错误也算是加深了对jquery和dom对象的理解。
两个对象间是可以相互转换的,("#imgId")[0]就是把(“#imgId”)jquery对象转换为了dom对象。
转换方法:
jQuery对象转成DOM对象:
两种转换方式将一个jQuery对象转换成DOM对象:[index]和.get(index);
(1)jQuery对象是一个数据对象,可以通过[index]的方法,来得到相应的DOM对象。
如:var $v =$("#v") ; //jQuery对象
var v=$v[0]; //DOM对象
alert(v.checked) //检测这个checkbox是否被选中
(2)jQuery本身提供,通过.get(index)方法,得到相应的DOM对象
如:var $v=$("#v"); //jQuery对象
var v=$v.get(0); //DOM对象
alert(v.checked) //检测这个checkbox是否被选中
DOM对象转成jQuery对象:
对于已经是一个DOM对象,只需要用$()把DOM对象包装起来,就可以获得一个jQuery对象了。$(DOM对象)
如:var v=document.getElementById("v"); //DOM对象
var $v=$(v); //jQuery对象
转换后,就可以任意使用jQuery的方法了。
通过以上方法,可以任意的相互转换jQuery对象和DOM对象。需要再强调注意的是:DOM对象才能使用DOM中的方法,jQuery对象是不可以用DOM中的方法。