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

451 阅读1分钟

以前一直认为jquery中的$("#id")和document.getElementById("id")得到的效果是一样的,今天做特效,发现并不是这么回事,通过测试得到: 1. alert($("#div"))得到的是[object object]; 2.alert(document.getElementById("div"))得到的是[object HTMLDivElement]; 3. alert($("#div")[0])或者alert($("#div").get(0))得到的是[object HTMLDivElement]

原因解读:

document.getElementById()返回的是DOM对象,而$()返回的是jquery对象
什么是jquery对象
就是通过jquery包装DOM对象后产生的对象。jquery对象是jquery独有的,可以使用jquery里的方法。
比如: $("#test").html()意思是指:获取ID为test的元素内的html代码。其中html()是jquery里的方法,这段代码等同于用DOM实现代码:document.getElementById('id').innerHTML;
虽然jquery对象是包装dom对象后产生的,但是jquery无法使用dom对象的任何方法,同理dom对象也不能使用jquery里的方法,乱使用是会报错的。