电竞比分网-中国电竞赛事及体育赛事平台

分享

jQuery學(xué)習(xí)筆記 入門

 9252娃兒 2017-01-13

由于工作的需要,發(fā)現(xiàn)jQuery是一個(gè)繞不開的東西,現(xiàn)在開始學(xué)習(xí)。

 

一、JQuery是什么

JQuery是什么?始終是縈繞在我心中的一個(gè)問題:

借鑒網(wǎng)上同學(xué)們的總結(jié),可以從以下幾個(gè)方面觀察。

不使用JQuery時(shí)獲取DOM文本的操作如下:

1
document.getElementById('info').value = 'Hello World!';

使用JQuery時(shí)獲取DOM文本操作如下:

1
$('#info').val('Hello World!');

嗯,可以看出,使用JQuery的優(yōu)勢之一是可以使代碼更加簡練,使開發(fā)人員更加專注于邏輯本身。

 

 

二、JQuery能做什么

jQuery使用戶能更方便地處理HTML、events、實(shí)現(xiàn)動(dòng)畫效果,并且方便地為網(wǎng)站提供AJAX交互。

jQuery庫包含以下功能:HTML元素選取、HTML元素操作、CSS操作、HTML事件函數(shù)、JavaScript特效和動(dòng)畫、HTML|DOM遍歷和修改、AJAX、Utilities。

jQuery使用戶方便快捷獲取DOM元素、動(dòng)態(tài)修改頁面樣式、動(dòng)態(tài)改變DOM內(nèi)容、響應(yīng)用戶的交互操作、為頁面添加動(dòng)態(tài)效果、統(tǒng)一Ajax操作、簡化常見的JavaScript任務(wù)。

上述是對JQuery比較中肯的評價(jià),節(jié)選其中的關(guān)鍵字可以粗略的觀察到:

  1. 方便的選取DOM元素,操作DOM元素。(HTML元素選取、HTML元素操作、獲取DOM元素、動(dòng)態(tài)修改頁面樣式、動(dòng)態(tài)改變DOM內(nèi)容)

  2. 響應(yīng)用戶操作。(HTML事件函數(shù)、JavaScript特效和動(dòng)畫、響應(yīng)用戶的交互操作、為頁面添加動(dòng)態(tài)效果)

  3. 簡化AJAX操作。(方便地為網(wǎng)站提供AJAX交互、統(tǒng)一Ajax操作)

即:方便DOM的選取和操作、響應(yīng)用戶操作、簡化AJax操作。

 

 

三、DOM是什么

上述提到了DOM元素,不了解,查閱總結(jié)如下:

DOM 全稱是 Document Object Model,是文檔對象模型。

通過DOM元素,可以方便的操作HTML中的節(jié)點(diǎn),比如獲取節(jié)點(diǎn)的內(nèi)容,添加某些元素,刪除某些元素。

也就是說,DOM元素和HTML息息相關(guān),它將HTML中的一個(gè)個(gè)標(biāo)簽封裝成DOM元素,以便于JavaScript進(jìn)行操作。

1
2
3
4
5
6
7
8
9
10
11
12
<html>
    <body>
        <div id="info">
            <p>Test</p>
        </div>
    <script>
        window.onload = function(){
            document.getElementById("info").innerHTML="success";
        }
    </script>
    </body>
</html>

其中document.getElementById("info")就是將id為info的標(biāo)簽封裝成為一個(gè)DOM元素,接下來便可以方便的操作這個(gè)DOM對象,例如修改它的文本內(nèi)容等等。

 

 

四、JQuery與DOM之間的關(guān)系

JQuery對象與DOM對象之間有什么區(qū)別?

先了解什么是JQuery對象:

JQuery對象就是用JQuery包裝DOM之后產(chǎn)生的對象。JQuery對象是JQuery獨(dú)有的,可以使用JQuery的各種方法。

1
$("#test").html();

意思是指:獲取ID為test的元素內(nèi)的html代碼。其中html()是jQuery里的方法 。

這段代碼的作用等同于用DOM實(shí)現(xiàn)代碼:

1
document.getElementById("id").innerHTML;

雖然jQuery對象是包裝DOM對象后產(chǎn)生的,但是jQuery無法使用DOM對象的任何方法,同理DOM對象也不能使用jQuery里的方法。

還需要注意一點(diǎn)的是:

用#id作為選擇器獲取得的是jQuery對象,document.getElementById("id")得到的DOM對象,這兩者并不等價(jià)。

 

另外,JQuery對象與DOM對象之間可以互相轉(zhuǎn)換。

JQuery對象 -> DOM對象

兩種轉(zhuǎn)換方式將一個(gè)JQuery對象轉(zhuǎn)換成DOM對象:[index]和.get(index);

  1. jQuery對象是一個(gè)數(shù)據(jù)對象,可以通過[index]的方法,來得到相應(yīng)的DOM對象。

    1
    2
    var v1 = $("#test") ; //jQuery對象
    var v2 = $v1[0]; //DOM對象
  2. 通過.get(index)方法,得到相應(yīng)的DOM對象。

    1
    2
    var v1 = $("#test"); //jQuery對象
    var v2 = v1.get(0); //DOM對象

DOM對象 -> JQuery對象

對于已經(jīng)是一個(gè)DOM對象,只需要用$()把DOM對象包裝起來,就可以獲得一個(gè)jQuery對象了。如$(document.getElementById("test"))

1
2
var v1=document.getElementById("test"); //DOM對象
var v2=$(v1); //jQuery對象

DOM對象轉(zhuǎn)換為JQuery對象之后就可以使用JQuery的方法了。

需要再次強(qiáng)調(diào)注意的是:DOM對象才能使用DOM中的方法,jQuery對象是不可以用DOM中的方法。

 

 

五、JQuery中的“$”有什么作用

這個(gè)問題解決之后,還有一個(gè)疑問:我們經(jīng)常在JQuery看見$('div')、$('#id')、$('.class')等類似的代碼。那么其中的"$"究竟有什么作用呢?

$其實(shí)就是jQuery的別稱。是jQuery提供的一個(gè)函數(shù),用來將DOM元素、選擇器包裝成jQuery對象。

1
2
var v1 = $('#id');
var v2 = jQuery('#id');

以上兩者是等同的。

所以"$"其實(shí)是一個(gè)符號(hào),$()代替了jQuery(),當(dāng)然你也可以使用其他的字符來代替"$"

1
2
var jq = jQuery.noConflict();
var v1 = jq('#id'); // 等同于var v1 = $('#id');

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多