jQuery 筆記

Risejl發表於2022-11-23

jQuery

script 和 document.ready

首先,在頁面頂部新增 script 標籤, 記得新增結束標籤。

瀏覽器會執行 script 標籤所有的 JavaScript 指令碼包括 jQuery。

script 標籤中新增程式碼 $(document).ready(function() {。 然後在後面(仍在該 script 標籤內)用 }); 閉合它。只要瀏覽器載入頁面,function 中放入的程式碼就會執行。

有一點很重要,如果沒有 document ready function,程式碼將在 HTML 頁面呈現之前執行,這可能會導致錯誤。

$(document).ready(function() {
});

選擇器 Selector

所有的 jQuery 函式都以 $ 開頭,這個符號通常被稱為美元符號(dollar sign operator)或 bling。

jQuery 通常選取並操作帶有選擇器(selector)的 HTML 標籤。

標籤

比如,想要給 button 元素新增跳躍效果。 只需要在 document ready 函式內新增如下程式碼:

$("button").addClass("animated bounce");

class

使用 $(".well") 選取類為 welldiv 標籤。

jQuery 的 .addClass() 方法用來給標籤新增類。

值得注意的是,和 CSS 宣告一樣,在類名前需要新增 .

$(".well").addClass("animated shake");

id

首先,用 $("#target3") 選擇器選取 id 為 target3button 標籤。

注意,和 CSS 宣告一樣,在 id 名前需要新增 #

$("#target3").addClass("animated fadeOut");

移除 class

利用 jQuery 的 removeClass() 方法移除。

 $("button").removeClass("btn-default");

css

用 jQuery 直接改變 HTML 標籤的 CSS。

jQuery 有一個 .css() 方法,能改變標籤的 CSS。

下面的程式碼效果是把顏色變藍:

$("#target1").css("color", "blue");

這與通常的 CSS 宣告略有不同,因為這個 CSS 屬性和值在英文引號裡,並且它們用逗號而不是冒號間隔開。

$("#target1").css("color", "red");

禁用元素

用 jQuery 改變 HTML 標籤的非 CSS 屬性, 例如:禁用按鈕。

當禁用按鈕時,它將變成灰色並無法點選。

jQuery 有一個 .prop() 方法,可以用其調整標籤的屬性。

下面是禁用所有的按鈕的程式碼:

$("button").prop("disabled", true);

更改文字

透過 jQuery 改變元素開始和結束標籤之間的文字。 甚至改變 HTML 標籤。

jQuery 有一個 .html() 函式,能用其在標籤裡新增 HTML 標籤和文字, 函式提供的內容將完全替換之前標籤的內容。

下面是重寫並強調標題文字的程式碼:

$("h3").html("<em>jQuery Playground</em>");

jQuery 還有一個類似的函式 .text(),可以在不新增標籤的前提下改變標籤內的文字。

注意,<i> 標籤雖然傳統上用來強調文字,但此後常用作圖示(Font Awesome)的標籤。 <em> 標籤作為強調標籤現在已被廣泛接受。

$("#target4").html("<em>#target4</em>");

刪除元素

用 jQuery 從頁面移除 HTML 標籤。

jQuery 有一個 .remove() 方法,能完全移除 HTML 標籤。

$("#target4").remove();

移動元素

現在來把標籤從一個 div 移動到另一個裡。

jQuery 有一個 appendTo() 方法,可以選取 HTML 標籤並將其新增到另一個標籤裡面。

例如,如果要把 target4 從 right well 移到 left well,可以設定如下

$("#target4").appendTo("#left-well");

克隆元素

也可以把元素從一個地方複製到另一地方。

jQuery 有一個 clone() 方法,可以複製標籤。

例如,如果想把 target2left-well 複製到 right-well,可以設定如下:

$("#target2").clone().appendTo("#right-well");

是否注意到這兩個 jQuery 函式連在一起了? 這被稱為鏈式呼叫(function chaining),是一種用 jQuery 實現效果的簡便方法。

選擇父元素

每個 HTML 標籤都預設 inherits(繼承)其 parent(父標籤)的 CSS 屬性。

jQuery 有一個 parent() 方法,可以訪問被選取標籤的父標籤。

下面的程式碼展示了使用 parent() 方法把 left-well 標籤的父標籤背景色設定成藍色(blue):

$("#left-well").parent().css("background-color", "blue");

選擇子元素

把 HTML 標籤放到另一個級別的標籤裡,這些 HTML 標籤被稱為該標籤的子標籤(children element)。

jQuery 有一個 children() 方法,可以訪問被選取標籤的子標籤。

下面的程式碼展示了用 children() 方法把 left-well 標籤的子標籤的顏色設定成 blue(藍色):

$("#left-well").children("color", "blue");

選擇特定子元素

jQuery 可以用 CSS 選擇器(CSS Selectors)選取標籤。 target:nth-child(n) CSS 選擇器可以選取指定 class 或者元素型別的的第 n 個標籤。

下面的程式碼展示了給每個區域(well)的第 3 個標籤設定彈跳(bounce)動畫效果:

$(".target:nth-child(3)").addClass("animated bounce");

選擇偶數元素

也可以用基於位置的奇 :odd 和偶 :even 選擇器選取標籤。

注意,jQuery 是零索引(zero-indexed)的,這意味著第 1 個標籤的位置編號是 0。 這有點混亂和反常——:odd 表示選擇第 2 個標籤(位置編號 1),第 4 個標籤(位置編號 3)……等等,以此類推。

下面的程式碼展示了選取所有 target class 元素的奇數元素並設定 sheke 效果:

$(".target:odd").addClass("animated shake");

。請記住, 偶數指的是基於零系統的元素的位置。

修改整個頁面

jQuery 也能選取 body 標籤。

$("body").addClass("animated hinge");

相關文章