1. 程式人生 > >jQuery中一些必須要知道的知識點總結--20個(上)

jQuery中一些必須要知道的知識點總結--20個(上)

1. jQuery 庫中的 $() 是什麼?

$()函式是JQuery函式的別稱,就是一種標誌,符合其思想:write less,do more。第一次接觸可能有些不適應,是jQuery程式碼佶屈聱牙,晦澀難懂。我們需要適應一段時間,過一段時間,就會愛上其簡潔,方便,飛起來。
$()函式用於將任何物件包裹成jQuery物件,接著就可以被允許呼叫定義在jQuery物件上的多個不同方法。甚至可以將一個選擇器字串傳入 $()函式,它會返回一個包含所有匹配的DOM 元素陣列的jQuery物件。可以用each()方法進行遍歷裡面的物件。

2.網頁上有多個<div>元素,怎樣會用jQuery來選擇它們?

這個問題是jQuery基於選擇器的。jQuery支援不同型別的選擇器,有 ID選擇器、class選擇器、標籤選擇器。這個問題的答案是使用標籤選擇器來選擇所有的div元素。jQuery程式碼: 
$("div").
其返回值是一個包含5個div標籤的jQuery物件。

3.jQuery裡的ID選擇器和class選擇器有什麼不同?

ID選擇器使用ID來選擇元素,例: $("#idtest1"). 而 class選擇器使用CSS class 來選擇元素,例:$(".classtest1")。當只需要選擇一個元素時,使用ID選擇器,如果需要選擇具有相同 CSS class的元素,就要用class 選擇器。

$("#idTest1");//返回 id 是idTest1的jQuery物件
$(".classTest1");//返回的是class是 classTest1的所有元素的一個jQuery陣列
這裡和CSS裡的標記符合 (#,.) 是一 一 對應的。

很容易理解。

4.如何在點選一個按鈕時使用 jQuery 隱藏一個圖片?

此功能是jQuery的事件處理問題。jQuery為按鈕點選之類的事件提供了很好的支援。可以通過ID或class選擇器定位到圖片,並將按鈕繫結事件,再執行hide()方法。

//為按鈕繫結點選事件
$("#button1").click(function(){
    //執行hide()方法
    $("#img1").hide();
});

5.$(document).ready( ) 函式是什麼?幹什麼用的?

ready( ) 函式用於在文件進入ready狀態時執行程式碼。當DOM完全載入(HTML被完全解析DOM樹構建完成時),jQuery允許我們的執行程式碼。使用$(document).ready()的最大好處在於它適用於所有瀏覽器,jQuery幫我們解決了跨瀏覽器的問題。

6.javascript中的window.onload()事件與jQuery中的$(document).ready( )函式 的異同?

前者,window.onload( ) 事件需要等待 DOM被建立,還要等待包括 大型圖片、音訊、視訊等 所有的外部資源全部都載入完全,才能執行; 

如果圖片、視訊等內容的載入花費時間過多,就會有明顯的延遲。更嚴重的是使使用者感受到。。。say byebye。。。

後者,$().ready( ) 函式,只需要等待DOM樹的建立完成,而不需要等待圖片、音訊、視訊的大型檔案的載入,從而執行的會更快。

再有,在網頁中可以多次使用ready( ) ,瀏覽器會按照其在HTML頁面裡出現的順序執行,而onload只執行一次。

網友給出的二者執行的時機的 答案如下截圖:


7.怎樣找到所有HTML中 select標籤的選中項?

表單選擇器與屬性選擇器的應用

$("選擇器:selected")

8.jQuery中的each( ) 是什麼函式? 如何使用它?

我們使用選擇器進行選擇時,例如涉及到選擇class的相關操作,其返回值是jQuery陣列,我們想要獲取陣列中的每一個值,這是就要用到each()函數了。

each()函式類似於Java中集合中遍歷所使用的 Iterator 迭代器,允許我們遍歷一個元素的集合。

可以傳一個函式給each()方法,被呼叫的jQuery物件會在其每個元素上執行傳入的函式。

$(".classTest1").each(function(){
    //this指代遍歷到的元素,$(this),將js轉換為jQuery物件,text()方法是jQuery的特有方法
    alert($(this).text())
});

這樣就可以遍歷到每個元素了。

9.如何將一個HTML元素新增到DOM樹中?

jQuery提供了append()、appendTo()等相關方法 可以將一個HTML元素新增到DOM樹中。

相關用法如下

內部(子元素):

$A.append($B)		-->將$B追加到$A內部後;
$A.appendTo($B)		-->將$A追加到$B內部後;
$A.prepend($B)		-->將$B新增到$A內部前;
$A.prependTo($B)	-->將$A新增到$B內部前;
外部(兄弟元素):
$A.after($B)		-->將$B新增找$A之後;
$A.before($B)		-->將$B新增找$A之前;
$A.insertAfter($B)	-->將$A新增找$B之後;
$A.insertBefore($B)	-->將$A新增找$B之前;

10.怎樣用jQuery程式碼選擇所有在段落內部的超連結?

可以用jQuery程式碼片段選擇器來選擇所有巢狀在段落<p>標籤內部的超連結<a>

連載部落格,未完待續