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>