溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

[置頂]       JQuery基礎(chǔ)知識(shí)

發(fā)布時(shí)間:2020-08-02 09:49:09 來(lái)源:網(wǎng)絡(luò) 閱讀:356 作者:873582595 欄目:web開(kāi)發(fā)

優(yōu)點(diǎn):

可跨瀏覽器編程。還有Prototype、DojoExtJS(功能更強(qiáng)的JS庫(kù),常用與企業(yè)級(jí)程序)。

宗旨:Write Less, Do More

 

本質(zhì):

JavaScript庫(kù)。

 

JQuery能做什么?

DOM功能相同。

 

導(dǎo)入

<script src="xxx.js" type="text/javascript"></script>

 

1:“$”符號(hào)

方法名(jQuery方法的別名)

window.jQuery = window.$ = jQuery

作用:篩選對(duì)象

$通常使用選擇器來(lái)獲得相應(yīng)的對(duì)象集合(id選擇器#id,類選擇器tagName

 

2$(docuemnt).ready方法:

會(huì)在當(dāng)前瀏覽器加載生成完整個(gè)DOM樹(shù)完成之后調(diào)用(相當(dāng)于window.onload),并可以多次調(diào)用相當(dāng)于C#中的“+=;

onload的區(qū)別

onload是所用DOM元素創(chuàng)建完畢、圖片、CSS等都加載完畢后才被觸發(fā),而ready則是DOM元素創(chuàng)建完畢后就被出發(fā),這樣可以提高網(wǎng)頁(yè)的響應(yīng)速度,在JQuery中也可以用$(window).load()來(lái)實(shí)現(xiàn)onload事件的調(diào)用機(jī)制。

簡(jiǎn)寫(xiě):$(function() {});

 

3JQuery對(duì)象轉(zhuǎn)換為DOM對(duì)象

1[index]

2get(inde)

 

 

4:選擇器

id選擇器-->#id

類選擇器-->tagName

class選擇器-->.className

*選擇器-->*   選擇所有的元素

組合選擇器-->使用“,”作為分隔符  $("#msgDiv, msg2Div")

層次選擇器

-->后代選擇器:ancestor decendant使用空格作為分隔符  $("form input")

-->子代選擇器:$("parent> child")

--> 匹配所有緊接在prev后的next元素  $("prev + next")

-->匹配prev元素之后的所有siblings兄弟元素  $("prev ~ siblings")

 

5:瀏覽器解析JS代碼時(shí),會(huì)先解析聲明式代碼。eg:function()[]

之后在加載運(yùn)行式代碼

 

6JQuery中注冊(cè)事件監(jiān)聽(tīng)click()、leave()、focus()blur()....

JQuery中注冊(cè)事件監(jiān)聽(tīng)本質(zhì):調(diào)用IEattchEvent、FireFoxaddEventListener

 

7JQuery提供的函數(shù)

JQuery其實(shí)就是一個(gè)方法,方法的本質(zhì)就是對(duì)象,對(duì)象是可以有方法屬性,所以JQuery方法也有它自己的方法。

 

7.1

$.map(array, fn(){}):用來(lái)將一個(gè)數(shù)組,轉(zhuǎn)換成另一個(gè)數(shù)組。

如果傳入的匿名方法的參數(shù)是一個(gè),那么這個(gè)參數(shù)就是當(dāng)前被循環(huán)出的數(shù)組元素。function(item){}

如果傳入的匿名方法的參數(shù)是兩個(gè),則第一個(gè)是被循環(huán)出來(lái)的數(shù)組元素,第二個(gè)為當(dāng)前被循環(huán)到的小角標(biāo)。function(item, index){}

 

如果map時(shí)的匿名函數(shù)中包含return語(yǔ)句,那么map方法就會(huì)有一個(gè)返回值,返回的是由return語(yǔ)句返回單個(gè)元素組成的新數(shù)組。

 

$.map不能處理json格式對(duì)象的數(shù)組

 

注意:JS中的任何方法都有返回值,如果用戶不手動(dòng)返回的話,就會(huì)返回undefined

 

7.2

$.each(array, fn(){}):對(duì)數(shù)組array每個(gè)元素調(diào)用fn函數(shù)進(jìn)行處理,沒(méi)有返回值。$.each(arr, function(key, value){ alert(key + '=' + value ); });

如果each循環(huán)數(shù)組的話,那么key就是下標(biāo),value就是元素

each循環(huán)時(shí),只要回調(diào)函數(shù)返回了false,那么循環(huán)終結(jié)

 

$.map$.each區(qū)別:是否有返回值

 

7.3

$.trim(str)

str.replace(/^[\sxA0]+/, "").replace(/[\sxA0]+$/, ""); xA0 也是空格

 

7.4

.text()獲得元素內(nèi)部的文本

.text(val)向元素內(nèi)部添加文本

.html()html(val)獲取或設(shè)置標(biāo)簽內(nèi)的html標(biāo)簽

 

 

8Json

Json其實(shí)就是js中對(duì)象的一種表示方法(字面量表示法)

注意:值類型的變量,不能動(dòng)態(tài)添加屬性。

 

9JQuery對(duì)象就是通過(guò)JQuery包裝DOM對(duì)象后產(chǎn)生的對(duì)象

$('#div1').html()等價(jià)于document.getElementById('div').innerHTML

$(".class,#id,div").css() == document.getElementById().style

css("border", "3px solid #000"0:

$().val() == .value()

 

10ArrayJS的對(duì)象,所以JQueryDOM都能使用

 

11JQuery綁定事件支持多播

 

12:過(guò)濾器

:first

:last

:eq(index)索引

:gt(index) 大于

:lt(index)小于

:not()

:even   :odd

:header

$("div[id]")屬性過(guò)濾選擇器

$("div[name^='x']")name屬性以x開(kāi)頭的div元素

$("div[name$='x']"):結(jié)尾

$("div[][]");

$("div[name*='x']"):包含

$("*:disabled");

$("*:enabled");


 

$("input:checked");Radio  CheckBox

$("input:selected");  下拉列表<select .../>

 

12:<a .../>不跳轉(zhuǎn),設(shè)置href="javascript:void(0)";

 

13:合成事件$(selector).hover(funcIn, funcOut);

 

14:對(duì)JQuery頂層對(duì)象進(jìn)行擴(kuò)展$.extend({});

 

15:對(duì)JQuery元素進(jìn)行擴(kuò)展$.fn.extend({});

 

16:常用的JS插件

JQueryUI

JQueryEasyUI

JQueryCookie

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI