1.什麼是JQuery。 JavaScript開發的過程中,處理瀏覽器的相容很複雜而且很耗時,於是一些封裝了這些操作的庫應運而生。這些庫還會把一些常用的代碼進行封裝。 把一些常用到的方法寫到一個單獨的js文件,使用的時候直接去引用這js文件就可以了。(animate.js、common.js) 常見 ...
1.什麼是JQuery。
把一些常用到的方法寫到一個單獨的js文件,使用的時候直接去引用這js文件就可以了。(animate.js、common.js)
常見的JavaScript 庫 - jQuery、Prototype、MooTools。其中jQuery是最常用的一個
jQuery其實就是一個js文件,裡面封裝了一大堆的方法方便我們的開發,其實就是一個加強版的common.js,因此我們學習jQuery,其實就是學習jQuery這個js文件中封裝的一大堆方法。
jQuery設計的宗旨是'Write Less,Do More',即倡導寫更少的代碼,做更多的事情。它封裝JavaScript常用的功能代碼,提供一種簡便的操作,優化HTML文檔操作、事件處理、動畫設計和Ajax交互。
jQuery的核心特性可以總結為:具有獨特的鏈式語法和短小清晰的多功能介面;具有高效靈活的css選擇器,並且可對CSS選擇器進行擴展;擁有便捷的插件擴展機制和豐富的插件。jQuery相容各種主流瀏覽器。
極大地簡化了 JavaScript 編程。
1.2JQuery中頁面載入事件
// 第一種寫法 $(document).ready(function() { }); // 第二種寫法 $().ready(function() { }); // 第三種寫法 $(function() { });
jQuery入口函數與window.onload的對比
JavaScript的入口函數要等到頁面中所有資源(包括圖片、文件)載入完成才開始執行。
jQuery的入口函數只會等待文檔樹載入完成就開始執行,並不會等待圖片、文件的載入。
1.3JQuery優點總結:
-查找元素的方法多種多樣,非常靈活
-擁有隱式迭代(自動迴圈遍歷)特性,因此不再需要手寫for迴圈了。
-完全沒有相容性問題。
-實現動畫非常簡單,而且功能更加的強大。
-代碼簡單、粗暴。
2.選擇器
2.1JQuery基本選擇器
名稱 | 用法 | 描述 |
ID選擇器 | $("#id"); | 獲取指定ID的元素 |
類選擇器 | $(".class"); | 獲取同一類class的元素 |
標簽選擇器 | $("div"); | 獲取同一類標簽的所有元素 |
並集選擇器 | $("div,p,li"); | 使用逗號分隔,只要符合條件之一就可 |
交集選擇器 | $("div.redClass"); | 獲取class為redClass的div元素 |
2.2JQuery層級選擇器
名稱 | 用法 | 描述 |
子代選擇器 | $("ul>li"); | 使用>號,獲取兒子層級的元素,註意,並不會獲取孫子層級的元素 |
後代選擇器 | $("ul li"); | 使用空格,代表後代選擇器,獲取ul下的所有li元素,包括孫子等 |
2.3JQuery過濾選擇器
名稱 | 用法 | 描述 |
:eq(index) | $("li:eq(2)").css(“color”,"red"); | 獲取到的li元素中,選擇索引號為2的元素,索引號index從0開始 |
:odd | $("li:odd").css("color","red"); | 獲取到的li元素中,選擇索引號為奇數的元素 |
:even | $("li:even").css("color","red"); | 獲取到的li元素中,選擇索引號為偶數的元素 |
2.4JQuery篩選方法
名稱 | 用法 | 描述 |
children() | $("ul").children("li"); | 相當於$("ul-li"),子類選擇器 |
find() | $("ul").find("li"); | 相當於$("ul li"),後代選擇器 |
siblings() | $("#first").siblings("li"); | 查找兄弟節點,不包括自己本身 |
parent() | $("first").parent(); | 查找父級元素 |
eq(index) | $("li").eq(2); | 相當於$("li:eq(2)"),index從0開始 |
next() | $("li").next(); | 找下一個兄弟 |
prev() | $("li").prev(); | 找上一個兄弟 |
closest | $("li").closest("ul") | 找最近一個祖先元素 |