1、基本介紹
一、jQuery是個JavaScript函數庫,它很大程度的簡化了JavaScript的編程;
二、主要包括:HTML元素選擇和操做、CSS操做、HTML事件函數、JavaScript特效和動畫、HTML DOM遍歷和修改、AJAX、Utilities等功能,同時還提供大量插件;
三、基礎語法:$(selector).action() $是固定選擇符號,selector是要操做的元素, 選擇方法是XPath 與 CSS 選擇器語法的組合,action()是選擇到元素後要執行的方法;
四、通常全部的操做都位於$(document).ready(function){/*操做方法*/}}以內,表示在文檔DOM加載完成以後才執行jQuery代碼;
五、選擇器$(),能夠對單個或多個HTML元素進行選擇,選擇基於元素的id,類,類型,屬性,屬性值等,也基於Css選擇器;同時它也能夠自定義選擇器;css
2、效果html
hide(speed,callback) 隱藏元素;speed可爲毫秒或slow,fast;callback爲隱藏完成後執行的函數名稱;兩個參數都是可選的,下同; show(speed,callback) 顯示元素; toggle(speed,callback) 顯示/隱藏元素; fadeIn(speed,callback) 淡入已隱藏的元素; fadeOut(speed,callback) 淡出已顯示的元素; fadeToggle(speed,callback) 淡入/淡出元素; fadeTo(speed,opacity,callback)漸變爲指定透明度,opacity爲透明度,必須介於0-1之間; slideDown(speed,callback) 向下滑動展開元素; slideUP(speed,callback) 向上滑動收攏元素; slideToggle(speed,callback) 向下展開/向上收攏元素; animate({params},speed,callback)建立自定義動畫;params爲將要達到效果的屬性,動畫會從原屬性漸變到此屬性的; stop(stopAll,goToEnd) 中止動畫效果,兩個參數都是bool值,第一個是否清除動畫隊列,第二個爲是否當即中止當前動畫;
3、對DOM的操做ajax
text() 設置或返回所選元素的文本內容; html() 設置或返回所選元素的內容,包括HTML標記; val() 設置或返回表彰字段的值; attr() 獲取屬性值; append() 在元素結尾追加內容(標籤內); prepend() 在元素開頭插入元素(標籤內); after() 在元素結尾追加內容(標籤外); before() 在元素開頭插入元素(標籤外); remove() 刪除已選擇的元素,包括子元素,可接受一個選擇器參數,以進行過濾; empty() 刪除已選擇元素的全部子元素; addClass() 向已選擇元素添加一個或多個類屬性; removeClass() 刪除已選擇元素的一個或多個類屬性; removeAttr() 刪除元素屬性; toggleClass() 對已選擇元素進行添加/刪除類屬性的切換操做; css() 設置或返回樣式屬性;參數爲css的屬性名和值; width() 設置或返回元素的寬度(不包括內外邊距和邊框); height() 設置或返回元素的高度(不包括內外邊距和邊框); innerWidth() 設置或返回元素的寬度(包括內邊距); innerHeight() 設置或返回元素的高度(包括內邊距); outerWidth() 設置或返回元素的寬度(包括內邊距和邊框); outerHeight() 設置或返回元素的高度(包括內邊距和邊框); parent() 返回元素的直接父元素; parents() 返回元素的全部上級元素; parentsUntil()返回元素到給定元素之間的全部上級元素; children() 返回元素的直接子元素; find() 返回元素的全部下級元素; siblings() 返回元素的全部同級元素; next() 返回元素的下一個同級元素; nextAll() 返回元素以後的全部同級元素; nextUntil() 返回元素到給定元素之間的全部同級元素; first() 返回選中元素中的第一個元素; last() 返回元素中的最後一個元素; eq() 返回選中元素中指定元素,接受一個索引參數,表示第幾個; filter() 對已選擇元素進行過濾,接受一個選擇器參數; not() 反向過濾,結果與filter()相反;
4、jQuery-AJAX
AJAX是在不重載所有頁面的狀況下,實現對部分網頁的更新的技術;
jQuery-AJAX中方法編程
load(URL,data,callback) 從服務器加載數據,並把返回數據放入被選元素中,data是請求參數,爲鍵值對形式;callback是回調函數名; $.get(URL,callback) 以get方法從服務器上請求數據; $.post(URL,data,callback) POST請求; $.ajax() 執行異步AJAX請求; $.getJSON() 使用get請求加載JSON數據; $.getScript() 使用get請求從服務器加載並執行JavaScript; ajaxComplete() AJAX請求完成時執行的函數; ajaxError() 請求失敗時執行的函數; ajaxSend() 發送請求以前運行的函數; ajaxStart() 規定第一個AJAX請求開始時執行的函數; ajaxStop() 全部AJAX請求成功完成時運行的函數; serialize() 編碼表單元素爲字符串; serializeArray() 編碼表單元素集爲字符串;
5、常見DOM事件
鼠標:click,dbclick,mouseenter,mouseleave;
鍵盤:keypress,keydown,keyup;
表單:submit,change,focus,blur;
窗口:load,resize,scroll,unload;數組
6、經常使用方法promise
$.noConflict() 釋放對$符號的控制,但能使用「jQuery」實現相同的功能;或者使用jQuery(document).ready(function($){//能夠在這裏邊使用$符號}) $.contains() 判斷另外一個DOM元素是不是指定DOM元素的後代; $.each() 遍歷指定對象和數組; $.extend() 將一個或多個對象的內容合併到目標對象; $.globalEval() 全局性的執行一段JavaScript代碼; $.grep() 過濾並返回知足指定函數的數組元素; $.inArray() 在數組中查找指定值並找返回它的索引值,若是沒找到則返回-1; $.isArray() 判斷指定對象是不是一個數組; $.isEmptyObject() 判斷對象是否爲空; $.isFunction() 判斷指定參數是不是一個函數; $.isNumeric() 判斷是不是數字; $.isPlainObject() 判斷是不是一個純粹對象; $.isWindow() 判斷參數是不是一個窗口; $.isXMLDoc() 判斷一個DOM節點是否位於XML文檔中; $.makeArray() 將一個類數組對象轉換爲數組對象; $.map() 指定函數處理數組中的每一個元素(或對象的每一個屬性),並將處理結果封裝爲新的數組返回 $.merge() 合併兩個數組內容到第一個數組 $.noop() 一個空函數 $.now() 返回當前時間 $.parseHTML() 將HTML字符串解析爲對應的DOM節點數組 $.parseJSON() 將符合標準格式的JSON字符串轉爲與之對應的JavaScript對象 $.parseXML() 將字符串解析爲對應的XML文檔 $.trim() 去除字符串兩端的空白字符 $.type() 肯定JavaScript內置對象的類型 $.uniqueSort() 對DOM元素數組進行排序,並移除重複的元素 $.data() 在指定的元素上存取數據,並返回設置值 $.hasData() 肯定一個元素是否有相關的jQuery數據 $.sub() 建立一個新的jQuery副本,其屬性和方法能夠修改,而不會影響原來的jQuery對象 $.speed 建立一個包含一組屬性的對象用來定義自定義動畫 $.htmlPrefilter() 經過jQuery操做方法修改和過濾HTML字符串 $.readyException() 處理包裹在jQuery()中函數同步拋出的錯誤 callbacks.add() 在回調列表中添加一個回調或回調的集合 callbacks.disable() 禁用回調列表中的回調函數 callbacks.disabled() 肯定回調列表是否已被禁用 callbacks.empty() 從列表中清空全部的回調 callbacks.fire() 傳入指定的參數調用全部的回調 callbacks.fired() 肯定回調是否至少已經調用一次 callbacks.firewith() 給定的上下文和參數訪問列表中的全部回調 callbacks.has() 判斷回調列表中是否添加過某回調函數 callbacks.lock() 鎖定當前狀態的回調列表 callbacks.locked() 判斷回調列表是否被鎖定 callbacks.remove() 從回調列表中的刪除一個回調或回調集合 $.Deferred() 返回一個鏈式實用對象方法來註冊多個回調 deferred.always() 當Deferred(延遲)對象被受理或被拒絕時,調用添加的處理程序 deferred.done() 當Deferred(延遲)對象被受理時,調用添加的處理程序 deferred.fail() 當Deferred(延遲)對象被拒絕時,調用添加的處理程序 deferred.notify() 給定一個參數,調用正在延遲對象上進行的回調函數( progressCallbacks ) deferred.notifyWith() 給定上下文和參數,調用正在延遲對象上進行的回調函數( progressCallbacks ) deferred.pipe() 過濾 and/or 鏈式延遲對象的工具方法 deferred.progress() 當Deferred(延遲)對象生成進度通知時,調用添加處理程序 deferred.promise() 返回 Deferred(延遲)的 Promise 對象 deferred.reject() 拒絕 Deferred(延遲)對象,並根據給定的參數調用任何 failCallbacks 回調函數 deferred.rejectWith() 拒絕 Deferred(延遲)對象,並根據給定的 context 和 args 參數調用任何 failCallbacks 回調函數 deferred.resolve() 解決Deferred(延遲)對象,並根據給定的參數調用任何 doneCallbacks 回調函數 deferred.resolveWith()解決Deferred(延遲)對象,並根據給定的context 和 args 參數調用任何 doneCallbacks 回調函數 deferred.state() 肯定一個Deferred(延遲)對象的當前狀態 deferred.then() 當Deferred(延遲)對象解決,拒絕或仍在進行中時,調用添加處理程序 .promise() 返回一個 Promise 對象,觀察某種類型被綁定到集合的全部行動,是否已被加入到隊列中
7、插件及相關做用
jQuery Validate 爲表單提供了強大的驗證功能;
jQuery Prettydate 表單驗證;
jQuery Accordion 用於建立摺疊菜單;
jQuery Autocomplete 根據用戶輸入值進行搜索和過濾,讓用戶快速找到並從預設值列表中選擇;
jQuery Growl 用於在一個覆蓋層顯示反饋消息;經常使用消息提醒;
jQuery Password Validation 用於密碼驗證;
jQuery Tooltip 自定義工具提示框;
jQuery Treeview 樹形菜單;服務器