jquery对象和dom对象的区别,如$("#imgId")[0].src; 中[0]的作用

WEB前端 waitig 436℃ 百度已收录 0评论

前因:
在用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中的方法。 

本文由【waitig】发表在等英博客
本文固定链接:jquery对象和dom对象的区别,如$("#imgId")[0].src; 中[0]的作用
欢迎关注本站官方公众号,每日都有干货分享!
等英博客官方公众号
点赞 (0)分享 (0)