面试题:document.getElementById(‘idName’)与 $('#idName')的区别

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则不必定能作。对象

相关文章
相关标签/搜索