document.getElementById(‘idName’)与 $('#idName')的区别bash
<div id=xxx></div>
-----------------------------
var div = document.getElementById('xxx');
var $div = $('#xxx');
复制代码
请说出div与$div的联系和区别?
函数
首先,div是一个DOM对象,$div
则是一个jQuery
对象,而jQuery
的本质就是一个JavaScript函数。能够使用typeof jQuery
或是typeof $
查看返回值,返回值为'function'
。 其实,jQuery
就是将一些经常使用的(反人类的)DOM API进行封装,方便咱们调用,因此jQuery对象其实就是经过jQuery包装DOM对象后产生的对象 。 咱们能够使用$div[0]
或者是$div.get(0)
将jQuery转换为DOM对象;固然也能够将DOM对象转换为jQuery对象:$(div)
。相比于DOM API,jQuery提供的属性与方法更加人性化,如向元素添加,删除class。DOM API提供的方法为:动画
div.classList.add();
div.classList.remove();
复制代码
而jQuery则是这样:spa
$div.addClass();
$div.removeClass();
复制代码
而且jQuery支持链式操做如:code
$div.removeClass('green').addClass('red')
复制代码
jQuery不单单有对DOM操做的支持,并且还有动画,AJAX等模块,且兼容性也很好。可是了解了jQuery的本质后,咱们知道jQuery能作的事情,JS也能作,可是JS能作的事情,jQuery则不必定能作。对象