jQuery的$(#id)和document.getElementById(id)的区别

以前一直认为jquery中的$(“#id”)和JS中的document.getElementById(“id”)得到的效果是一样的,直到今天将JS用jQuery改写时才发现并不是这么一回事,通过测试得到:

  • alert($(“#div”))得到的是[object Object]

  • alert(document.getElementById(“div”))得到的是[object HTMLDivElement]

  • alert($(“#div”)[0])或者alert($(“#div”).get(0))得到的是[object HTMLDivElement]

原因解读:

document.getElementById()返回的是DOM对象,而$()返回的是jQuery对象

jQuery对象转成DOM对象: 

两种转换方式将一个jQuery对象转换成DOM对象:[index]和.get(index);

DOM对象转成jQuery对象: 

只需要用$()把DOM对象包装起来,就可获得一个jQuery对象:$(DOM对象)