Js - Dom原生对象和jQuery对象的联系、区别、相互转换
Dom原生对象和jQuery对象的联系、区别、相互转换:
联系:
1、jQuery对象:通过jQuery包装DOM对象后产生的对象;
2、两者之间可以相互转换;
区别:
1、jquery选择器得到的jquery对象和标准的 javascript中的document.getElementById()取得的dom对象是两种不同的对象类型,两者不等价;
2、jQuery无法使用DOM对象的任何方法,同理DOM对象也不能使用jQuery里的方法. 乱使用会报错。
例如:
$("#id").html();
document.getElementById("id").innerHTML;
意思是指:获取ID为id的元素内的html代码。这两段代码结果相同,但中间的取值过程不同。
即:$("#id").innerHTML、document.getElementById("id").html()之类的写法都是错误的。
相互转换:
jQuery对象转成DOM对象---两种转换方式:[index]和.get(index)
1、jQuery对象是一个数据对象,通过[index]的方法
如:var $v = $("#v") ; //jQuery对象
var v = $v[0]; //DOM对象
alert(v.checked) //检测这个checkbox是否被选中
2、jQuery本身提供,通过.get(index)方法
如:var $v = $("#v"); //jQuery对象
var v = $v.get(0); //DOM对象
alert(v.checked) //检测这个checkbox是否被选中
DOM对象转成jQuery对象:
对于DOM对象,只需用$()把DOM对象包装起来,就可得到jQuery对象
如:var v=document.getElementById("v"); //DOM对象
var $v=$(v); //jQuery对象
需要注意:jQuery无法使用DOM对象的任何方法,同理DOM对象也不能使用jQuery里的方法. 乱用会影响代码执行。
水平有限,文中错误不妥在所难免,欢迎批评指正建议评论。文章将不定期修改完善斧正。谢谢!
参考文档:
JQUERY 对象与DOM对象之两者相互间的转换
http://www.jb51.net/article/17911.htm