老鸟告诉我说初学jquery的人最容易犯的错误就是经常分辨不清楚哪个对象是jquery对象,哪个对象是DOM对象。在此,我特写一篇文章来告诫自己要注意这个问题,尽量避免陷入大伙都容易跳进的陷阱。
首先我们来回顾一下DOM对象,名词解释就是Document Object Model文档对象模型。在js中通过getElementById或者getElementByTagName获取到的元素节点就是DOM对象。例如页面中有一个id为"id"的标签, var dom = document.getElementById("id");等等。
而jquery对象就是通过jquery包装DOM对象后产生的对象。例如$("#id").html(); 就是获取id为"id"的元素内的html代码。等同于 document.getelementById("id").innerHTML; 在jquery对象中无法使用dom对象的任何方法,同样在dom中也是不能使用jquery里的方法,所以必要的时候我们需要对两种对象进行转换。
1、jquery对象转换成dom对象(两种方法)。由于jquery对象是一个数组对象,故[index]和get(index)
① var $cr = $("#cr");//获取id为"cr"的元素的jquery对象。一般说来把jquery对象命名为 $xxxx
var cr = $cr[0];
②get(index)是jquery本身提供的
var $cr = $("#cr");//获取id为"cr"的元素的jquery对象。
var cr = $cr.get(0);
2、DOM对象转换成jquery对象
var cr = document.getElementById("#id");
var $cr = $(cr);//就把dom对象换成jquery对象了。
注意:$()函数就是一个jquery对象的制造工厂。因为$是jquery的代号,故jquery()认为是一个构造函数,构造函数不就是对象的制造工厂嘛....
先到这儿,写的东西很基础的东西,但是还是比较实用的,下一次要写关于jquery选择器的东西了,期待大家的评论