我認為,學習一門語言,主要是掌握它的思想與用途,就好比談戀愛一樣,你只要猜測到了對方的想法,就能夠知情達意。廢話不多說,我們開始今天學習的進度,加油ヾ(◍°∇°◍)ノ゙ 1. jQuery([selector[, context]]) 該函數還可以表示為 $([selector[, context] ...
我認為,學習一門語言,主要是掌握它的思想與用途,就好比談戀愛一樣,你只要猜測到了對方的想法,就能夠知情達意。廢話不多說,我們開始今天學習的進度,加油ヾ(◍°∇°◍)ノ゙
1. jQuery([selector[, context]])
該函數還可以表示為 $([selector[, context]])。這個函數接收一個包含css選擇器的字元串,然後用這個字元串去匹配一組元素。比如,常用的 id 選擇器(後面會對各種選擇器進行詳細說明),$("#div1")。
jQuery的核心功能都是通過這個函數實現的。就好比一座大樓的地基,jQuery中的一切都是基於這個函數,或者說都是以某種方式使用這個函數。
預設情況下,如果沒有指定context參數, $() 將在當前頁面上下文查找DOM元素;如果指定了context參數,就會在這個context中進行查找。在jQuery1.3.2 以後,其返回的元素順序等同於 context中出現的先後順序。
參數:
(1) selector[, context]:selector 表示用來查找的字元串,通常由css選擇器組成;context 作為待查找的DOM元素集、文檔或jQuery對象。如:
// 查找div1中的所有checkbox $("#div1 input:checkbox"); // 查找文檔第一個表單中所有單選按鈕 $("input:radio", document.forms[0]);
(2) element:一個用於封裝成 jQuery對象的DOM元素,也就是將DOM對象轉換為jQuery對象。如:
// 為div1 添加class屬性 var div1 = document.getElmentById("div1"); $(div1).attr('class', 'class1 class2 class3');
(3) object:一個用於封裝成 jQuery的對象,和上面的element差不多。
(4) elementArray:一個用於封裝成 jQuery對象的DOM元素數組。
(5) jQuery():返回一個空的jQuery對象。
2. jQuery(html[, ownerDocument])
該函數還可以表示為 $(html[, ownerDocument])。根據提供的原始 HTML標記字元串,動態創建由jQuery對象包裝的DOM元素。同時設置一系列屬性、事件等。如:
// 添加div到body中
$("<div><p>Hello</p></div>").appendTo("body"); $("<div>", { "class": "test", text: "Click me!", click: function(){ $(this).toggleClass("test"); } }).appendTo("body");
3. jQuery(callback)
該函數可以表示為 $(callback)。是$(document).ready() 的簡寫。允許你綁定一個在 DOM元素載入完成後執行的函數。
4. each(callback)
對每一個所匹配的元素來執行一個函數。
意味著,每次執行傳遞進來的函數時。this關鍵字都指向不同的DOM元素。並且,每次執行函數時,都會給函數傳遞一個表示該元素在匹配集合中索引位置的值(從 0 開始)。函數方法 false 將終止each。返回 true 將執行下一個元素。
// 對前3個img進行src設置 $("img").each(function(i){ if( i == 3){ // 跳出迴圈 return false; } this.src = "test" + i + ".jpg"; });
5. size()
返回 jQuery對象中元素的個數
6. length
返回 jQuery對象中元素的個數。
7. selector
返回傳遞給 jQuery() 的原始選擇器。這些方法都可以使用console.log(jQuery對象)輸出來查看jQuery對象有哪些屬性值。
8. context
返回傳遞給 jQuery() 原始的DOM節點上下文,即$([selector[, context]])中的第二個參數。如果在獲取jQuery對象時沒有指定context,則表示當前頁面上下文。
9. get([index])
取得其中一個匹配的元素。inde表示取得的第幾個匹配元素(從 0 開始)。
參數:
(1) index:取得在索引為 index 的元素。
(2) get():取得所有匹配的DOM元素集合。
10. index([selector | element])
搜索匹配的元素,並返回相應元素的索引值,從 0 開始。
如果不給 .index() 方法傳遞參數,返回值就是這個jQuery對象集合中第一個元素相對於其同輩元素的位置。
如果參數是一個選擇器selector,返回值就是原先集合中的元素相對於選擇器匹配中的位置。如果找不到,返回 -1。
如果參數是一組DOM 元素或者 jQuery對象,返回值就是傳遞的元素相對於集合的位置。
11. data([key], [value])
在一個元素上存取數據,返回 jQuery對象。
作用域:當前函數上下文。
$("div").data("blah"); // undefined $("div").data("blah", "hello"); // blah設置為hello $("div").data("blah"); // hello $("div").data("blah", 86); // 設置為86 $("div").data("blah"); // 86 $("div").removeData("blah"); //移除blah $("div").data("blah"); // undefined $("div").data("test", { first: 16, last: "pizza!" }); $("div").data("test").first //16; $("div").data("test").last //pizza!;
12. remove([name | list])
在元素上移除存放的數據。
參數:
(1) name:存儲的數據名
(2) list:移除數組,或以空額分開的字元串
13. jQuery.data(element, [key], [value])
在元素上存放數據,返回 jQuery對象。
註意:這是一個底層方法。你應當使用 .data() 來代替。
14. jQuery.noConfict([extreme])
運行這個函數將變數 $ 的控制權讓給第一個實現它的庫。這有助於確保 jQuery不會與其他庫的 $ 對象衝突。