jquery对象是通过jquery包装DOM对象后产生的对象。jquery对象可以使用jquery的方法,不能使用DOM的方法。
例如:$('.img').attr("src","images/1.jpg"); 这里的 $('.img')就是jquery对象。
DOM对象就是javascript固有的一些对象操作。DOM对象能使用javascript方法,不能使用jquery方法。
例如:
document.getElementById("img").src = "images/1.jpg";
这里的 document.getElementById("img")就是DOM对象。
$('#img').attr("src","images/1.jpg"); 和document.getElementById("img").src = "images/1.jpg"; 是等价的,但是,$(".img").src = "images/1.jpg";或者 document.getElementById("img").attr("src","images/1.jpg"); 都是错误的,无法运行或是报错,应为对象和方法是有问题的。
再说一个例子,就是this的使用,在写jquery时经常这样写 : this.attr("src","images/1.jpg"); 这样会报错。其原因是 this是DOM对象,而attr是jquery方法。要解决这个错误就要将DOM对象转化为jquery对象。
例如: $(this).attr("src","images/1.jpg");
DOM对象转化为jquery对象
对于一个DOM对象,需要使用$()把DOM对象包装起来,就可以转化成一个jquery对象,$(DOM对象)。
提示,var是定义变量。
例如://DOM对象
var v = document.getElementById("sss");
//jquery对象
var $v = $("#sss");
在转换之后就可以使用jquery的方法。
jquery对象转化为DOM对象
(1)jquery对象是一个数据对象,可以通过[index]方法,来得到相应的DOM对象。
例如://jquery对象
var $v = $("#sss");
//DOM对象
var v = $v[0];
(2)jquery本身提供,通过.get(index)方法得到相应的DOM对象。
例如://jquery对象
var $v = $("#sss");
//DOM对象
var v = $v.get(0);
或者 var v = $v.get()[0];
通过以上的方法,可以将jquery和DOM对象之间进行转化。需要强调的是。方法无法互相使用。