前言:
首先我们思考能不能直接在jQuery对象上调用原生DOM对象的方法或者直接在原生DOM对象调用jQuery对象呢?答案是否定的,我们看下把body背景色变为红色的代码:
$("body").style.backgroundColor = "red"; //报错
document.getElementsByTagName("body")[0].css("background-color",'red'); //报错
这是什么原因呢?
因为这是二个不同的对象,下面我们进行测试
document.write((document.getElementsByTagName("body")[0] === $("body")) ? "我们完全一样" : "我们不一样"); //false
互相转换:
上面已经解释原生DOM对象和jQuery对象是两个不同的对象,所以需要一些转换,才能够混合使用两者的方法。
原生DOM对象转为jQuery对象:
使用工厂函数 $()。
jQuery对象转为原生DOM对象:
将jquery对象转为DOM对象,再调用原生对象方法,我们改写前言里错误的例子:
$("body")[0].style.backgroundColor = "red"; //使用下标
$("body").get(0).style.backgroundColor = "red"; //使用get()方法,get()方法里参数为下标