您的位置:首页 > Web前端 > JQuery

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

2017-11-05 14:55 337 查看
前因:

在用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中的方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: