您好,登錄后才能下訂單哦!
1、javascript類庫(kù),即js庫(kù),預(yù)封裝了很多函數(shù)和對(duì)象,為了簡(jiǎn)化我們的js開(kāi)發(fā),最大的特點(diǎn)是兼容各大瀏覽器,即不需要考慮兼容性問(wèn)題,鏈?zhǔn)讲僮鳌椒ㄦ湻绞酱蟠蠛?jiǎn)化了代碼的書(shū)寫(xiě)。
2、jquery-1.11.3.js——正常文件:有注釋、空行和縮進(jìn)
jquery-1.11.3.min.js——壓縮文件:采用GZIP壓縮技術(shù),沒(méi)有注釋、空行和縮進(jìn)
注:開(kāi)發(fā)時(shí)為了加快加載速度,采用壓縮版本,平時(shí)學(xué)習(xí)練習(xí)研發(fā)使用正常版本
3、jquery對(duì)象與DOM對(duì)象區(qū)分
jquery對(duì)象:封裝DOM對(duì)象后產(chǎn)生的對(duì)象
DOM對(duì)象:通過(guò)DOM獲取的元素,稱之為DOM對(duì)象
4、jquery九大選擇器
基本選擇器、層級(jí)選擇器、過(guò)濾選擇器(基本過(guò)濾選擇器、子元素過(guò)濾選擇器、可見(jiàn)性過(guò)濾選擇器、內(nèi)容過(guò)濾選擇器、屬性過(guò)濾選擇器、表單對(duì)象屬性過(guò)濾選擇器、)
5、可見(jiàn)性過(guò)濾選擇器
:visible 獲取可見(jiàn)元素(不常用)
:hidden 獲取不可見(jiàn)元素(常用)
注:對(duì)visibility:hidden不起作用
6、【重點(diǎn)記憶】
:not(expr) - 獲取不包含指定表達(dá)式的元素
【獲取class不為XX的xxx元素,其中包含沒(méi)有class屬性的元素,not中的表達(dá)式可加單引號(hào)可不加,一般不用加】
:has(selector) - 獲取含有匹配選擇器的元素的父元素
[attrName!=value] - 獲取包含指定attrName的值不為value的元素(包含沒(méi)有該屬性的元素,與not包含一致,not也是包含沒(méi)有該屬性的元素)
[attrName][attrName] - 組合屬性過(guò)濾選擇器(交集)(與基本選擇器的并集不一樣)
selector1,selector2,......($(“one,two”);【組合選擇器】
中間用逗號(hào)隔開(kāi),全部寫(xiě)在一個(gè)雙引號(hào)里,并集)
【隱藏元素的情況】
1.設(shè)置為display:none;
2.帶有type=“hidden”的表單元素
3.width和height設(shè)置為0
4.隱藏的父元素
7、addClass() - 追加樣式
無(wú)論之前是否包含樣式,在此基礎(chǔ)上追加一個(gè)新的樣式,如果之前包含樣式,依舊存在
attr()設(shè)置樣式 - 無(wú)論之前是否包含樣式,設(shè)置成當(dāng)前樣式,如果之前包含樣式,會(huì)被覆蓋
8、css()方法
獲取 -css(attrName)
設(shè)置:【設(shè)置單個(gè)】
css(attrName, attrValue)
注意:attrName必須是字符串類型
【設(shè)置多個(gè)】
css({
attrName : attrValue,
attrName : attrValue,
... ...
})
注意 - attrName直接定義,不需要編寫(xiě)成字符串類型,值不加單位
9、children()與find()的區(qū)別:find是找所有后代元素,children是只找子元素
10、替換元素
被替換元素 . replaceWith($(“替換元素”))
replaceAll() - 實(shí)際上就是顛倒了的replaceWith()
刪除元素
remove() - 刪除自身及后代節(jié)點(diǎn)[自殺式,與原生DOM的原理完全不同]
empty() - 刪除后代節(jié)點(diǎn),保留自身節(jié)點(diǎn)(特別適合:清空)
插入元素
內(nèi)部插入 - 子元素(指定元素內(nèi))
append() - 作為最后一個(gè)子元素插入到指定元素中
【插入在指定元素的后面】
【顯示出來(lái)是在后面,作為子元素出現(xiàn),保留各自前面的li點(diǎn)】
prepend() - 作為第一個(gè)子元素插入到指定元素中
【插入在指定元素的前面】
【顯示出來(lái)是在前面,作為子元素出現(xiàn),不保留原來(lái)li前面的點(diǎn)】
appendTo()
prependTo()【只是上述操作的反操作,前后元素顛倒】
外部插入 - 兄弟元素(指定元素外)
before() - 作為指定元素的上一個(gè)兄弟元素插入
after() - 作為指定元素的下一個(gè)兄弟元素插入
【只是上述操作的反操作】
insertBefore()
insertAfter()
11、【注意問(wèn)題】
1. 在js操作css的時(shí)候用駝峰。
2. 只要是加小括號(hào)的,一定是函數(shù)或方法的調(diào)用
3. 從加載上來(lái)說(shuō):寫(xiě)代碼時(shí)不要隨意位置寫(xiě)Js代碼,css和html是一個(gè)引擎加載,js是另一個(gè)引擎加載,如果隨意寫(xiě)js,則引擎切換的次數(shù)越多。每一種寫(xiě)的順序的方式都有自己的好處
4.this是指代DOM,不是jquery對(duì)象
5.js的函數(shù)不具備重載,叫覆蓋
6.當(dāng)腳本代碼放在頁(yè)面上邊的時(shí)候,用一個(gè)全局加載ready
12、jquery UI提供的功能
1.效果(Effects)
animate() - 自定義動(dòng)畫(huà)【jQueryui的animate是jQuery animate的補(bǔ)充】
JQUERY中的animate()無(wú)法使用的CSS屬性,在這都能用
【 animate()方法
當(dāng)前HTML頁(yè)面既引入JQUERY也引入JQUERY UI
兩者都提供了animate()方法
如何保證調(diào)用的animate()一定是JQUERY UI提供的?
原因 - JQUERY是先引入的,animate()方法被覆蓋
JavaScript的函數(shù)不具備“重載”而是“覆蓋”,后面的代替了前面的】
2.交互(Interactions)
3.組件(Widgets)
dialog,對(duì)話框是開(kāi)發(fā)中比較重要的元素
13、自調(diào)函數(shù) - 盡量避免全局變量和函數(shù)(對(duì)象)
原則 - 將全局改為局部
自調(diào)函數(shù)
(function(){
// 定義代碼
}());//解決全局問(wèn)題
自調(diào)函數(shù)的寫(xiě)法至少13種以上【可自己查】
所有全局變量都在瀏覽器內(nèi)存里,會(huì)影響性能。
方法1:最前最后加括號(hào)
(function(){alert(1);}());
方法2:function外面加括號(hào)
(function(){alert(1);})();
方法3:function前面加運(yùn)算符,void
void function(){alert(2);}(); //據(jù)說(shuō)效率最高~
4:帶參數(shù)
(function(o) {
alert(o);
})('water');
5 :匿名函數(shù)的鏈?zhǔn)秸{(diào)用
(function(o) {
alert(o);
return arguments.callee;
})('water')('down');
6:~(function(){
alert('water');
})();
7:+function(){
alert('water');
}();
8:-function(){
alert('water');
}();
9:~function(){
alert('water');
}();
10:!function(){alert(1);}();
14、【JQUERY的插件必須掌握!??!】
如何學(xué)習(xí)JQUERY插件?
插件官方提供的幫助文檔
插件提供的Demo示例代碼
[jquery插件是可以脫離jquery獨(dú)立使用的]
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。