以前一直认为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里的方法,乱使用是会报错的。