jQuery簡(jiǎn)介
優(yōu)點(diǎn)
- 兼容性好
- API友好
- 功能強(qiáng)大被环、與時(shí)俱進(jìn)(當(dāng)版本升級(jí)時(shí),會(huì)將語言的新特性添加進(jìn)來)
API寫法
jquery中只有兩種API寫法:
$.方法()
$(選擇器).方法()
什么時(shí)候適用jQuery
- DOM操作較多
- 簡(jiǎn)單的Ajax請(qǐng)求
- 兼容多款瀏覽器
什么時(shí)候不適用jQuery
- 交互簡(jiǎn)單
- 流量苛刻(如移動(dòng)端)
- 公司有了jQuery的替代方案
版本說明
- jQuery1.xx:兼容IE6详幽、7筛欢、8浸锨,因此文件較大
- jQuery2.xx:不再兼容IE6、7版姑、8柱搜,因此文件較小,且做了其他方面的優(yōu)化
使用jquery
- 為了不讓加載js文件時(shí)剥险,阻塞其他文件的加載聪蘸,因此,我們將script文件放在html的最后表制,但是在使用jQuery時(shí)健爬,可以將我們的程序放在
$(fn)
內(nèi),這樣js程序會(huì)在html文件(注意并不會(huì)等所有的文件包括css么介、圖片等資源加載完成浑劳,僅僅只是html加載完成)加載完成后,再執(zhí)行js夭拌; 而如果使用window.onload
魔熏,會(huì)等待所有文件加載完成再執(zhí)行,時(shí)機(jī)太晚
選擇器注意
-
使用jquery方法獲取的是jquery對(duì)象鸽扁,jquery對(duì)象是jquery對(duì)原生js對(duì)象進(jìn)行了一層封裝蒜绽,因此,對(duì)于jquery對(duì)象只能使用jquery的方法和屬性桶现;
對(duì)于一個(gè)特定結(jié)果集躲雅,我們想獲取到指定index的jQuery對(duì)象,可以使用eq方法
$('div').eq(3); // 獲取結(jié)果集中的第四個(gè)jQuery對(duì)象
$('div')[2]; // 這樣獲取的是js原生對(duì)象骡和,通過[]進(jìn)行轉(zhuǎn)換了
jQuery常見用法
DOM操作
-
var obj = $('<div>element</div>')
: 創(chuàng)建一個(gè)元素 -
$(node).append(ele)
: 追加末端ele -
$(node).prepend()
:在前面追加 -
$(node).remove()
:移除 -
$(node).before()
: 在前面插入 -
$(node).after()
: 在后面插入 - `$(node).html():相當(dāng)于innerHTML
- `$(node).text():相當(dāng)于innerText
-
$(node).empty()
: 移除內(nèi)部所有元素
CSS操作
-
$(node).val()
: 獲取或修改元素的value -
$(node).css()
:獲取或設(shè)置內(nèi)部樣式(不是計(jì)算后的樣式) -
$(node).attr()
:屬性值操作 -
$(node).addClass()
:類操作 -
$(node).removeClass()
:移除類 -
$(node).hasClass()
:是否擁有類 -
$(node).toggleClass()
:切換類