核心
- $(args)
String 如果含有HTML標(biāo)記則代表創(chuàng)建元素,否則代表選擇器
Function 頁面加載完畢 (DOM結(jié)構(gòu)解析渲染完成)執(zhí)行的回調(diào)函數(shù)
Node 將DOM轉(zhuǎn)換為jQuery Elements - $(function(){}) === $(document).ready(function(){})
- index() 獲取匹配元素的下標(biāo)(盡量帶父元素去匹配)
- length || size() 獲取匹配元素的數(shù)量(長度)
- $.fn.extend() 擴(kuò)展jQuery原型對象(插件開發(fā)的常用方法)
- $.extend([obj]约急,obj1零远,obj2...,objN) 合并對象
- $().each(function(){})遍歷匹配到的元素?cái)?shù)組
- $.noConflict() 讓出$的占用
選擇器
-基本選擇器
-層次選擇器
-內(nèi)容選擇器
-屬性選擇器
-。牵辣。。
與CSS選擇器寫法基本一致躺枕,并擴(kuò)展了一些常用的選擇方法供填,每一個選擇器執(zhí)行完成后拐云,不論有沒有匹配到的元素,都會返回一個(類)數(shù)組
DOM處理
- a.append(b) 將b追加到a的末尾
- a.appendTo(b) 將a追加到b的末尾
- a.before(b) 將b添加到a的前面(同輩)
- a.after(b) 將 b 添加到 a 的后面(同輩)
-a.insertBefore(b) 將a 添加到b 的前面(同輩) - a.insertAfter(b) 將a 添加到b 的后面(同輩)
- a.wrap(htmlStr) 用hrmlstr 標(biāo)記包裹 a
-a.unwrap() 解除 a 的包裹(unwrap并非要先wrap, unwrap 可用于快速移除指定元素的父元素) - a.remove() 移除a (從DOM樹種移除近她、事件或者數(shù)據(jù)也將被移除)
- a.detach() 移除 a (從DOM樹中移除叉瘩、事件或數(shù)據(jù)保留。再次追加時依然有效)
- a.empty() 清空 a 里面的內(nèi)容
- a.clone([bol]) 克隆a 元素粘捎,傳入true 將克隆事件等
CSS
-css()
∞泵濉-css(String,String) 設(shè)置單個樣式
√阑铡-*css(String)*獲取指定樣式
-*css(Object)*以JSON的對象形式設(shè)置多個樣式灸撰,設(shè)置樣式時谒府,必須駝峰式命名,像素值可以省略px
- addClass(className) | removeClass(className) 為匹配元素
添加 / 刪除 樣式名 如果 添加 / 刪除 多個樣式名需要用空格分割 - toggleClass(className) 有 / 無 就刪除 / 添加指定的樣式名
- offset() | position() 獲取或設(shè)置匹配元素的距離 文檔或相對定位父元素的左側(cè)和頂部的距離
- width() | height() 獲取元素的實(shí)際寬高(css寬高)
- innerWidth() | innerHeight() 獲取元素的寬高 浮毯,含 padding
jQuery
核心
- $(args)
- String 如果含有 HTML 標(biāo)記則代表創(chuàng)建元素 否則代表選擇器
- Function 頁面加載完畢(DOM 結(jié)構(gòu)解析渲染完成)執(zhí)行的回調(diào)函數(shù)
- Node 將 DOM 轉(zhuǎn)換為 jQuery Elements
- $(function(){}) === $(document).ready(function(){})
- index() 獲取匹配元素的下標(biāo) (盡量帶父元素去匹配)
- length || size() 獲取匹配元素的數(shù)量(長度)
- $.fn.extend() 擴(kuò)展 jQuery 原型對象(插件開發(fā)的常用方式)
- $.extend([obj],obj1,obj2,…,ojbN) 合并對象
- $().each(fucntion(){}) 遍歷匹配到的元素?cái)?shù)組
- $.noConflict() 讓出$的占用
選擇器
- 基本選擇器
- 層次選擇器
- 內(nèi)容選擇器
- 屬性選擇器
- 完疫。。债蓝。
與 CSS 選擇器寫法基本一致壳鹤,并擴(kuò)展了一些常用的選擇方式,每一個選擇器執(zhí)行完成后饰迹,不論有沒有匹配到元素芳誓,都會返回一個(類)數(shù)組
DOM 處理
- a.append(b) 將 b 追加到 a 的末尾
- a.appendTo(b) 將 a 追加到 b 的末尾
- a.before(b) 將 b 添加 a 的前面(同輩)
- a.after(b) 將 b 添加到 a 的后面(同輩)
- a.insertBefore(b) 將 a 添加到 b 的前面(同輩)
- a.insertAfter(b) 將 a添加到 b的后面(同輩)
- a.wrap(htmlStr) 用 htmlStr 標(biāo)記包裹 a
- a.unwrap() 解除 a的包裹(unwrap 并非必須要先 wrap,unwrap 可用于快速移除指定元素的父元素)
- a.remove() 移除 a(從 DOM 樹中移除蹦锋、事件或數(shù)據(jù)也將被移除)
- a.detach() 移除 a (從 DOM 樹中移除兆沙、事件或數(shù)據(jù)保留,再次追加時依然有效)
- a.empty() 清空 a 里的內(nèi)容
- a.clone([bol]) 克隆 a 元素莉掂,傳入 true 將克隆事件等
CSS
- css()
- css(String,String) 設(shè)置單個樣式
- css(String) 獲取指定樣式
- css(Object) 以 JSON 對象形式設(shè)置多個樣式
- 設(shè)置樣式葛圃,象素值可以省略 PX,必須駝峰式命名
- addClass(className) | removeClass 為匹配元素 添加 / 刪除 樣式名 如果 添加 / 刪除 多個 需要用空格分隔
- toggleClass(className) 有 / 無 就 刪除 / 添加 指定的樣式名
- offset() | position() 獲取或設(shè)置匹配元素的距離 文檔 / 相對定位父元素 的 左側(cè)和頂部 的距離憎妙,返回一個對象库正,
{left:..,top:..}
- width() | height() 獲取元素的實(shí)際寬高(CSS 寬高)
- innerWidth() | innerHeight() 獲取元素的寬高,含 padding
- outerWidth() | outerHeight() 獲取元素的寬高厘唾,含 paddin 褥符、 border
- outerWidth(true) | outerHeight(true) 獲取元素的寬高,含 paddin 抚垃、 border 喷楣、margin
- scrollTop() | scrollLeft() 獲取或設(shè)置滾動條距離(要設(shè)置,必須由事件觸發(fā))
屬性
- attr()
- attr(String,String) 設(shè)置單個屬性
- attr(String) 獲取單個屬性
- attr(Object) 設(shè)置多個屬性
- removeAttr(attrName) 移除指定屬性
- prop() 與 attr 效果一致(操作添加即為 true 的屬性)
- removeProp()
- html() 設(shè)置或獲取元素的 html 內(nèi)容
- text() 設(shè)置或獲取元素的文本內(nèi)容
- val() 設(shè)置或獲取表單元素的值
篩選
- first()
- last()
- eq()
- chilren()
- find()
- parent()
- hasClass()
- 最為常用的幾個方法鹤树,find() children() parent() 等可以接受選擇器
事件
- on(eventName[,委托元素選擇器][,data],function(){}) 添加事件
- off() 移除事件 ( 移除時铣焊,需要參數(shù)與添加事件時參數(shù)一致)
- delegate()
- undelegate()
- bind()
- unbind()
- one() 添加只執(zhí)行一次
- click()
- ...
- hover(overFunction,outFunction) 移入移出事件
AJAX
$.get(url[,data][,callback][,dataType])
$.post()
-
$.ajax(options)
- url 要發(fā)送請求的地址
- data 要發(fā)送的參數(shù)
- dataType 預(yù)期返回的數(shù)據(jù)格式 xml json html text …
- success 成功回調(diào)函數(shù)
- error 失敗回調(diào)函數(shù)
-
jsonp
$.ajax({ url : "xx.com", data : { a : "a" }, dataType : "jsonp", jsonp : "myCallback",//指定傳往服務(wù)器的參數(shù)名 默認(rèn)為 callback jsonpCallback : "test",//指定額外的處理函數(shù),要求全局環(huán)境必須存在此函數(shù) success : function(res){ } }) function test(res){ }
?
工具
- $.isFunction()
- $.isArray()
- $.isPlainObject()
- $.isNumeric()
- $.extend()
效果
- show()
- hide()
- slideDown()
- slideUp()
- slideToggle()
- fadeIn()
- fadeOut()
- fadeToggle()
- animate()
- stop()
- finish()
其它內(nèi)容
DOMContentLoaded 事件 DOM 元素解析完畢后觸發(fā)的事件
-
defer | async
- 什么也不加罕伯,腳本同步阻塞加載曲伊,加載完畢便執(zhí)行,此時操作 DOM 不成功
- async 腳本異步加載追他,加載完畢后便執(zhí)行坟募,此時 DOM 結(jié)構(gòu)不一定解析完畢岛蚤,此時操作 DOM 可能有風(fēng)險
- defer 腳本異步加載,加載完畢后不執(zhí)行懈糯,等待 DOM 結(jié)構(gòu)解析完畢(DOMContentLoaded 事件觸發(fā))才執(zhí)行 涤妒,操作 DOM 安全
requestAnimationFrame(func) 關(guān)鍵幀動畫(新的 API)
-
Array.prototype.xxx = function() 擴(kuò)展 javascript 內(nèi)置對象
?