jquery中的$("#id")与document.getElementById("id")不同

document.getElementById()返回的是DOM对象,而$()返回的是jQuery对象,所以不是同一种东西。

所以如果你用jQuery对象【通过$("#id")得到的】企图访问DOM对象的属性,会报错:Uncaught TypeError: Cannot read property 'xxxxxxxx' of undefined。同理,DOM对象访问jQuery对象的属性也会出错。

解决方案:互相转换

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中的方法。

参考文章:

jquery中的$("#id")与document.getElementById("id")的区别

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、样式篇 第1章 初识jQuery (1)环境搭建 进入官方网站获取最新的版本 http://jquery.co...
    凛0_0阅读 8,898评论 0 44
  • 对于jQuery的初学者来说,经常分辨不清DOM对象和jQuery对象,本文简单说明两者的区别和两种对象相互转换的...
    超玉阅读 3,541评论 0 4
  • 工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。简单...
    舟渔行舟阅读 12,413评论 2 17
  • 在不经意间发现刘未鹏的blog,简单了解刘未鹏的事迹后,我开始大量阅读他的博客文章,收获很多。在他的blog中,我...
    Catherine_龙猫阅读 2,144评论 0 0
  • 暑假开始了,我很开心。最开心的是赵老师要带我们去舜王坪。那里超美特别高哦对,还有奶泉。 还有老师带我们去的女英峡 ...
    23号小石头常博清阅读 1,495评论 0 0

友情链接更多精彩内容