JQuery學(xué)習(xí)筆記整理:選擇元素

2018-06-19 15:51 更新

這篇文章主要講解如何選擇元素,包括

1、選擇器

2、選擇方法

2.1 添加更多元素(add())

2.2 限制選擇范圍(eq()、filter()、first()、last()、has()、not()、slice())

2.3 檢測(cè)結(jié)果集(is())
2.4 修改、回退結(jié)果集(end()、addBack())
2.5 訪(fǎng)問(wèn)后代元素(children()、contents()、find())
2.6 訪(fǎng)問(wèn)祖先猿(closest()、offsetParent()、parent()、parents()、parentsUntil())
2.7 訪(fǎng)問(wèn)兄弟元素(next()、nextAll()、nextUntil()、prev()、prevAll()、prevUntil()、siblings())
3、 jQuery對(duì)象
3.1 屬性方法
3.2 jQuery對(duì)象轉(zhuǎn)換成DOM對(duì)象
3.3 DOM對(duì)象轉(zhuǎn)換成jQuery對(duì)象
4、 鏈?zhǔn)椒椒ǎǚ椒ㄦ湥?/div>

如果不想滾動(dòng),只想看自己所需要的,可在頁(yè)面按ctrl+F鍵,輸入名稱(chēng)即可搜索到。

1、選擇器
JQuery不但支持大部分的CSS選擇器,還額外的為我們提供了不少方便的選擇器。
1.1 不支持的CSS選擇器
JQuery支持大多數(shù)CSS選擇器,所以在這里只列舉一下不支持的CSS選擇器,如果你不知道CSS有哪些選擇器,可以看這里:CSS API整理復(fù)習(xí)

::after | :after

::before | :before

::selection

::placeholder

:fullscreen


1.2專(zhuān)屬選擇器

:animated  選擇所有正在處理動(dòng)畫(huà)的元素

:contains(text)   選擇包含指定文本的元素

:eq(n)    選擇第n個(gè)元素(從0開(kāi)始計(jì)數(shù))

:even     選擇所有的偶數(shù)元素(從0開(kāi)始計(jì)數(shù))

:odd 選擇所有奇數(shù)元素

:first    選擇第一個(gè)匹配的元素

:last 選擇最后一個(gè)匹配的元素

:gt(n)    選擇序號(hào)大于n的所有元素

:lt(n) 選擇序號(hào)小于n的所有元素

:has(selector)    選擇至少包含一個(gè)匹配指定選擇器的元素的元素

:text     選擇所有的輸入框元素

上面的選擇可以單獨(dú)使用也可以與其他選擇器使用:

$(':first')


$('html:first')

上面兩行代碼是等價(jià)的,都會(huì)返回包含基于DOM樹(shù)的第一個(gè)元素,也就是html

還有一些類(lèi)型選擇器

:button    選擇所有的按鈕

:checkbox  選擇所有的復(fù)選框

:file      選擇所有的文件上傳輸入框

:header    選擇所有的標(biāo)題元素(h1、h2等)

:hidden    選擇所有被隱藏的元素

:image     選擇所有的圖片元素

:input     選擇所有的input元素

:parent    選擇所有擁有至少一個(gè)子元素的元素

:password  選擇所有的密碼輸入框

:radio     選擇所有的單選框

:reset     選擇所有的表單重置按鈕

:selected  選擇所有的狀態(tài)已被選中的元素

:submit    選擇所有的表單提交元素

:visible   選擇所有的可見(jiàn)元素


2、選擇方法
當(dāng)我們執(zhí)行修改元素的jQuery操作時(shí),這些操作大多數(shù)返回來(lái)的都是一個(gè)jQuery對(duì)象(代表0個(gè)或多個(gè)DOM元素),也是基于此,我們可以采用鏈?zhǔn)椒椒?/b>調(diào)用。
2.1 添加更多元素
add()方法返回一個(gè)jQuery對(duì)象,所以可以在add()方法后采用鏈?zhǔn)椒椒ā?/div>

add(selector)、add(selector,context)  把匹配選擇器(可選上下文)的所有元素添加到調(diào)用add()方法的jQuery對(duì)象

add(HTMLElement)、add(HTMLElement[])  把一個(gè)或多個(gè)HTMLElement添加到j(luò)Query對(duì)象

add(jQuery)  把參數(shù)jQuery對(duì)象中的元素添加到當(dāng)前jQuery對(duì)象。

實(shí)例:

/*

*<div class="example">   

*  <input type="text" />   

*  <span></span>   

*  <button>Button</button>

*  <div class="item"></div>   

*</div>

*/


var btn = $(':button');

var span = document.querySelectorAll('.example span');

$('.example input').add('.example .item').add(btn).add(span).addClass('add');


//執(zhí)行結(jié)果

//<div class="example">    

//  <input type="text" class="add" />     

//  <span class="add"></span>     

//  <button class="add">Button</button>   

//  <div class="item add"></div>

//</div> 

上面的JavaScript代碼中,btn是 jQuery對(duì)象 ,span是 HTMLElement ,執(zhí)行后,當(dāng)前頁(yè)面上具有類(lèi)名為example的元素內(nèi)所有的input元素、具有類(lèi)名為example的元素內(nèi)所有具有類(lèi)名item的元素、所有的button按鈕和具有類(lèi)名為example的元素內(nèi)所有span元素都會(huì)被添加上類(lèi)名add。

注意:add()方法相當(dāng)于(把所有匹配結(jié)果相加)的意思,而不是子孫輩匹配,也不是往DOM里插元素。

2.2 限制選擇范圍

eq(index)  得到第index個(gè)元素(刪除其他元素)

filter(condition)  得到符合condition參數(shù)的元素(刪除不符合條件的元素)

first()    得到第一個(gè)元素(刪除其他元素)

last()     得到最后一個(gè)元素(刪除其他元素)

has(selector)、has(jQuery)、has(HTMLElement)、has(HTMLElement[])  得到匹配selector后代元素的元素,或返回包含jQuery對(duì)象內(nèi)的元素或HTMLElement所對(duì)應(yīng)的元素的元素(刪除沒(méi)有匹配后代的元素)

not(condition)  刪除匹配condition參數(shù)的元素

slice(start,end)  得到start、end參數(shù)指定范圍的元素子集、刪除子集之外的其他元素

(1)eq(index)、first()、last()
這三個(gè)方法也是返回一個(gè)jQuery對(duì)象。

/*

* <div class="example">

*   <span>1</span>

*   <span>2</span>

*   <span>3</span>

* </div>

*/


var spans = $('.example span');

spans.first().addClass('one');

spans.eq(0).addClass('one');

上面最后兩行代碼是等價(jià)的,返回匹配元素的結(jié)果集中的第一個(gè)元素,然后給它添加類(lèi)名one

spans.last().addClass('last');

spans.eq(-1).addClass('last');

上面兩行代碼也是等價(jià)的,返回匹配元素的結(jié)果集中的最后一個(gè)元素,然后給它添加類(lèi)名last。

注意:使用eq(index)時(shí),當(dāng)index為正值時(shí),是從0開(kāi)始計(jì)數(shù)的,也就是0是第一個(gè)匹配元素;而當(dāng)index為負(fù)值時(shí),則是從-1開(kāi)始計(jì)數(shù)的,也就是-1是最后一個(gè)匹配元素。

(2)slice(start,end)
slice()也返回一個(gè)jQuery對(duì)象。
jQuery的 slice() 方法其實(shí)和數(shù)組的slice()方法是一個(gè)意思,支持兩個(gè)參數(shù),分別是選擇的起始索引號(hào)和結(jié)束索引號(hào),索引是從0開(kāi)始,第二個(gè)參數(shù)是可選的,當(dāng)省略第二個(gè)參數(shù)時(shí),表示一直延續(xù)到結(jié)果集的結(jié)尾,相當(dāng)于slice(start,length-1)

實(shí)例:

spans.slice(1,2).addClass('slice')


// 結(jié)果 

// <div class="example">  

//   <span>1</span>  

//   <span class="slice">2</span>  

//   <span>3</span>  

// </div> //

注意:當(dāng)提供兩個(gè)參數(shù)時(shí),slice(start,end)返回的匹配結(jié)果中并不會(huì)包含最后一個(gè)元素,也就是不會(huì)包括eq(end);當(dāng)?shù)谝粋€(gè)參數(shù)大于結(jié)果集長(zhǎng)度時(shí),返回長(zhǎng)度為0的jQuery對(duì)象;當(dāng)?shù)诙€(gè)參數(shù)大于結(jié)果集的長(zhǎng)度時(shí),相當(dāng)于只提供第一個(gè)參數(shù)。

spans.slice(-2).addClass('slice');


// 結(jié)果   

// <div class="example">    

//   <span>1</span>    

//   <span class="slice">2</span>    

//   <span class="slice">3</span>    

// </div> 

//

注意:slice(-index)支持一個(gè)負(fù)數(shù),-1表示最后一個(gè)元素,表示從結(jié)果集的結(jié)尾開(kāi)始切割,并且返回從最后一個(gè)元素到倒數(shù)第index個(gè)的元素。

(3)filter()
filter()用來(lái)過(guò)濾元素,參數(shù)可以是選擇器、jQuery對(duì)象、HTMLElement或回調(diào)函數(shù)。

var first = $('.example span:first');   

var last = document.querySelector('.example span:last-child');   

spans.filter('.example span:nth-child(2)').addClass('second');   

spans.filter(first).addClass('first');   

spans.filter(last).addClass('last');


/*結(jié)果

*<div class="example">   

*  <span class="first">1</span>   

*  <span class="second">2</span>   

*  <span class="last">3</span>   

*</div>

*/

在上面的代碼中,分別給filter()方法傳入一個(gè)selector選擇器、一個(gè)jQuery對(duì)象、一個(gè)HTMLElement來(lái)過(guò)濾元素。

filter()方法還可以傳入一個(gè)回調(diào)函數(shù),會(huì)把元素的索引號(hào)作為參數(shù)傳遞給這個(gè)函數(shù),同時(shí),函數(shù)內(nèi)的上下文( this )指向需要處理的對(duì)應(yīng)當(dāng)前元素的HTMLElement對(duì)象:

spans.filter(function(index){   

  return index == 2 || this.textContent == '1';   

}).addClass('filter');


// 結(jié)果

//<div class="example">   

//  <span class="filter">1</span>

//  <span>2</span>   

//  <span class="filter">3</span>   

//</div>

//

返回true的表示匹配。

(4)not()
not()也返回一個(gè)jQuery對(duì)象,它的作用和filter正好相反,刪除所匹配的元素,用法可參考上面的filter方法,當(dāng)傳入的是函數(shù)時(shí),同樣會(huì)將元素的索引作為參數(shù)傳遞給函數(shù),上下文this指向當(dāng)前對(duì)應(yīng)元素的HTMLElement。

spans.not(function(index){   

  return index == 2 || this.textContent == '1';   

}).addClass('not');


// 結(jié)果  

//<div class="example">     

//  <span>1</span>  

//  <span class="not">2</span>     

//  <span>3</span>     

//</div>  

//


(5)has()
has方法是基于 后代元素 過(guò)濾結(jié)果集,也是返回一個(gè)jQuery對(duì)象,可傳入選擇器、一個(gè)或多個(gè)HTMLElement對(duì)象、一個(gè)jQuery對(duì)象。

實(shí)例:

/*<div class="example">

*  <span><b>1</b></span>

*  <span><i>2</i></span>

*  <span><span class="col"></span></span>

*</div>

*/


spans.has('.col').addClass('a');   

var b = $('b');   

spans.has(b).addClass('b');   

var i = document.querySelector('i');   

spans.has(i).addClass('i');


// 結(jié)果

//<div class="example">  

//  <span class="b"><b>1</b></span>  

//  <span class="i"><i>2</i></span>  

//  <span class="a"><span class="col"></span></span>  

//</div>  

//


2.3 檢測(cè)結(jié)果集
is()方法返回布爾值

is(selector)  如果結(jié)果集中至少有一個(gè)元素匹配選擇器selector,返回true

is(HTMLElement)、is(HTMLElement[])  如果結(jié)果集中包含指定的HTMLElement或者至少包含指定HTMLElement[]中的一個(gè)元素,返回true

is(jQuery)    如果結(jié)果集中至少包含一個(gè)參數(shù)對(duì)象中的元素,返回true

is(function(index))  如果至少有一次參數(shù)函數(shù)返回true,則返回true

實(shí)例:

/*  

* <div class="example">  

* <span>1</span>  

* <span>2</span>  

* <span>3</span>  

* </div>  

*/


spans.is(function(index){   

  return this.textContent == '2';   

});

// true


spans.is(function(index){   

  return this.textContent == '5';   

});

// false


2.4 修改、回退結(jié)果集
當(dāng)我們調(diào)用方法鏈修改結(jié)果集時(shí),jQuery維護(hù)著一個(gè)歷史結(jié)果集棧。

end()   扔掉當(dāng)前結(jié)果集,返回jQuery對(duì)象中緩存著的上一個(gè)結(jié)果集

addBack()、addBack(selector)  得到原結(jié)果集與當(dāng)前選擇結(jié)果的集合,支持可選選擇器參數(shù),利用這個(gè)可過(guò)濾原結(jié)果集

(1)end()

end()方法返回一個(gè)jQuery對(duì)象。

spans.first().addClass('first').end().addClass('span');


// 結(jié)果 

// <div class="example">    

// <span class="first span">1</span>    

// <span class="span">2</span>    

// <span class="span">3</span>    

// </div>    

//

上面的代碼中,我們首先用first()方法獲取到匹配的第一個(gè)元素,給它添加類(lèi)名first,然后調(diào)用end()方法,這時(shí)會(huì)返回到上一次結(jié)果集(也就是spans),給所有匹配的spans元素添加類(lèi)名span。


(2)addBack()

addBack()返回一個(gè)jQuery對(duì)象

$('.example').children('span:first').addBack().addClass('addBack');


// 結(jié)果   

// <div class="example addBack">      

// <span class="addBack">1</span>      

// <span>2</span>      

// <span>3</span>      

// </div>      

//

注意:當(dāng)傳入一個(gè)selector參數(shù)時(shí),它過(guò)濾的是原結(jié)果集,而不是當(dāng)前選擇結(jié)果。


2.5 訪(fǎng)問(wèn)DOM

以一個(gè)結(jié)果集為起點(diǎn),我們可以在DOM中訪(fǎng)問(wèn)其他部分,使用一個(gè)結(jié)果集得到另一個(gè)結(jié)果集。

下面的方法都返回jQuery對(duì)象,即使沒(méi)有匹配,也會(huì)返回一個(gè)空的jQuery對(duì)象(length等于0)

(1)訪(fǎng)問(wèn)后代元素

children()  得到結(jié)果集內(nèi)所有元素的直接子元素

children(selector)  得到結(jié)果集內(nèi)所有元素的匹配selector選擇器的直接子元素

contents()  得到結(jié)果集內(nèi)所有元素的直接子元素和文本內(nèi)容

find()  得到結(jié)果集內(nèi)所有元素的后代元素

find(selector)  得到結(jié)果集內(nèi)所有元素的匹配selector選擇器的后代元素

find(jQuery)、find(HTMLElement)、find(HTMLElement[])  得到結(jié)果集內(nèi)所有元素的子元素與參數(shù)對(duì)象對(duì)應(yīng)元素的交集

children()和find()方法返回的結(jié)果集中沒(méi)有重復(fù)元素。


實(shí)例:children()

childrend()方法得到結(jié)果集內(nèi)所有元素的 直接子元素 。

/*

*<div class="example">   

*  <div><span></span></div>   

*  <span></span>   

*</div>

*/


var ex = $('.example');   

ex.children().addClass('child');   

ex.children('span').addClass('span');


// 結(jié)果

//<div class="example">   

//  <div class="child"><span></span></div>

//  <span class="child span"></span>   

//</div>

//

在上面的代碼中,第二行會(huì)選中結(jié)果集ex中的所有直接子元素添加類(lèi)名child,第三行會(huì)選中結(jié)果集ex中的所有類(lèi)型為span的直接子元素添加類(lèi)名span。


實(shí)例:contents()

console.log(ex.contents())


// 打印結(jié)果

//0:text  

//1:div 

//2:text  

//3:span

//4:text

//

注意:換行符會(huì)導(dǎo)致出現(xiàn)text文本節(jié)點(diǎn)


實(shí)例:find()

find()方法得到結(jié)果集內(nèi)所有元素的 后代元素 。

var span = $('.example div>span');   

var span2 = document.querySelectorAll('.example>span');   

ex.find('div').addClass('div');   

ex.find(span).addClass('span');   

ex.find(span2).addClass('span2');


// 結(jié)果

//<div class="example">   

//  <div class="div">   

//    <span class="span"></span>   

//  </div>   

//  <span class="span2"></span>

//</div>

//

在上面的代碼中,分別傳入一個(gè)selector選擇器、一個(gè)HTMLElement、一個(gè)jQuery對(duì)象,仔細(xì)看結(jié)果。


(2)訪(fǎng)問(wèn)祖先元素

closest(selector)、closest(selector,context)  得到結(jié)果集內(nèi)元素的祖先元素中匹配selector選擇器的最接近的那個(gè)祖先元素

closest(jQuery)、closest(HTMLElement)  得到結(jié)果集內(nèi)的祖先元素與參數(shù)元素的交集

offsetParent()  得到距離最近的祖先定位元素(使用fixed、absolute或rela定位的元素)

parent()、parent(selector)  得到結(jié)果集內(nèi)元素的父元素(可選匹配selector選擇器的元素),最多返回一個(gè)父元素

parents()、parents(selector)  得到結(jié)果集內(nèi)元素的父元素(可選匹配selector選擇器的元素),可能返回多個(gè)父元素

parentsUntil(selector)、parentsUntil(selector,context)  得到結(jié)果集內(nèi)元素的匹配selector選擇器的祖先元素,可選的第二個(gè)選擇器參數(shù)用來(lái)過(guò)濾選擇結(jié)果

parentsUntil(HTMLElement)、parentsUntil(HTMLElement,selector)、parentsUntil(HTMLElement[])、parentsUntil(HTMLElement[],selector)  得到結(jié)果集內(nèi)元素的祖先元素與參數(shù)元素的交集,可選的第二個(gè)參數(shù)選擇器用來(lái)過(guò)濾選擇結(jié)果


實(shí)例:parent()、parents()

/*<div class="example" style="position:relative">   

*  <div>   

*    <span class='child'></span>   

*  </div>   

*  <span></span>   

*</div>

*/


var child = $('.child');   

child.parent().addClass('parent');   

child.parent('div').addClass('parentSpan');   

child.parents().addClass('parents');   

child.parents('div').addClass('parentsDiv');


// 結(jié)果

//<div class="example parents parentsDiv">   

//  <div class="parent parentSpan parents parentsDiv">   

//    <span class="child"></span>   

//  </div>   

//  <span></span>   

//</div>

//

parent()和parents()都是用來(lái)選擇父元素,兩者的區(qū)別是:前者只會(huì)返回一個(gè)父元素,而后者會(huì)返回多個(gè)父元素,依據(jù)DOM樹(shù),會(huì)一直向上匹配,直到當(dāng)前文檔的根元素(html);當(dāng)傳入?yún)?shù)時(shí),前者可能返回包含0個(gè)或1個(gè)父元素的jQuery對(duì)象,而后者可能返回包含0個(gè)或多個(gè)父元素的jQuery對(duì)象。


實(shí)例:offsetParent()

child.offsetParent().addClass('offsetParent')


// 結(jié)果  

//<div class="example offsetParent" style="position:relative">     

//  <div>     

//    <span class="child"></span>     

//  </div>     

//  <span></span>     

//</div>  

//

從上面的代碼可以看到,具有類(lèi)名為child的元素調(diào)用offsetParent()方法返回的是div.example元素,因?yàn)槟J(rèn)情況下,元素的定位方式是position:static,而我們給div.example設(shè)置了relative。


實(shí)例:closest()

closest()方法和parents()方法很類(lèi)似,不同之處在于它只會(huì)返回一個(gè)節(jié)點(diǎn),也就是第一個(gè)匹配的祖先元素。(在開(kāi)發(fā)中相對(duì)用的多)

child.closest('div').addClass('closest');


// 結(jié)果    

//<div class="example">       

// <div class="closest">       

// <span class="child"></span>       

// </div>       

// <span></span>       

//</div>    

//

closest()還可以傳入jQuery對(duì)象、HTMLElement對(duì)象,得到結(jié)果集內(nèi)元素的祖先元素與參數(shù)元素的交集;如無(wú)匹配,返回一個(gè)空的jQuery對(duì)象。


實(shí)例:parentsUntil()

parentsUntil()用來(lái)選擇祖先猿。對(duì)于jQuery對(duì)象中的每一個(gè)元素,parentsUntil()方法會(huì)沿著DOM樹(shù)向上查找,選中沿途的祖先元素,直到當(dāng)前祖先元素匹配參數(shù)選擇器為止。

child.parentsUntil('.example').addClass('parentsUntil');


// 結(jié)果      

//<div class="example">         

// <div class="parentsUntil">         

// <span class="child"></span>         

// </div>         

// <span></span>         

//</div>      

//

上面的代碼中,具有類(lèi)名為child的元素會(huì)一直向上匹配祖先元素,直到匹配到一個(gè)具有類(lèi)名為example的元素才會(huì)停止,而且并不會(huì)包含具有類(lèi)名為example的元素。

注意:parentsUntil()方法并不會(huì)包含匹配selector參數(shù)的元素。


parentsUntil()還可傳入第二個(gè)參數(shù)作進(jìn)一步過(guò)濾,過(guò)濾原理和filter一樣。


(3)訪(fǎng)問(wèn)兄弟元素

next()、next(selector)  得到下一個(gè)兄弟元素,可選的selector參數(shù)用來(lái)過(guò)濾選擇結(jié)果

nextAll()、nextAll(selector)  得到后面的所有兄弟元素,可選的selector參數(shù)用來(lái)過(guò)濾選擇結(jié)果

nextUntil(selector)、nextUntil(selector,selector)、nextUntil(jQuery)、nextUntil(jQuery,selector)、nextUntil(HTMLElement[])、nextUntil(HTMLElement[],selector)  得到后面的兄弟元素,直到(不包含)匹配(選擇器、jQuery對(duì)象、HTMLElement對(duì)象或HTMLElement對(duì)象數(shù)組)??蛇x的第二個(gè)selector參數(shù)用來(lái)過(guò)濾選擇結(jié)果。

prev()、prev(selector)  得到上一個(gè)兄弟元素,可選的selector參數(shù)用來(lái)過(guò)濾選擇結(jié)果

prevAll()、prevAll(selector)  得到前面的所有兄弟元素,可選的selector參數(shù)用來(lái)過(guò)濾選擇結(jié)果

prevUntil(selector)、prevUntil(selector,selector)、prevUntil(jQuery)、prevUntil(jQuery,selector)、prevUntil(prevHTMLElement[])、prevUntil(HTMLElement[],selector)  得到前面所有兄弟元素,直到(不包含)匹配參數(shù)(選擇器、jQuery對(duì)象、HTMLElement對(duì)象或HTMLElement對(duì)象數(shù)組)??蛇x的第二個(gè)selector參數(shù)用來(lái)過(guò)濾選擇結(jié)果

siblings()、siblings(selector)  選擇所有的兄弟元素,可選的selector參數(shù)用來(lái)過(guò)濾選擇結(jié)果


實(shí)例:next()、nextAll()、prev()、prevAll()、siblings()

/ <div class="example">   

    <span>1</span>   

    <span>2</span>   

    <span class="child">3</span>   

    <span>4</span>   

    <span>5</span>   

/ </div>


var child = $('.child');   

child.next().addClass('next');   

child.nextAll().addClass('nextAll');   

child.prev().addClass('prev');   

child.prevAll().addClass('prevAll');   

child.siblings().addClass('siblings');


// 結(jié)果

//<div class="example">   

//  <span class="prevAll siblings">1</span>   

//  <span class="prev prevAll siblings">2</span>   

//  <span class="child">3</span>   

//  <span class="next nextAll siblings">4</span>   

//  <span class="nextAll siblings">5</span>   

//</div>

next()返回下一個(gè)兄弟節(jié)點(diǎn)、nextAll()返回后面所有的兄弟節(jié)點(diǎn)、prev()返回上一個(gè)兄弟節(jié)點(diǎn)、prevAll()返回前面的所有兄弟節(jié)點(diǎn)、siblings()返回所有的兄弟節(jié)點(diǎn)(并不包含自身)。


上面五個(gè)方法都可以傳入一個(gè)selector參數(shù)作過(guò)濾。


實(shí)例:nextUntil()、prevUntil()

nextUntil()、prevUntil()兩個(gè)方法其實(shí)和parentsUntil()原理一樣,只不過(guò)parentsUntil()是匹配祖先元素,而nextUntil()、prevUntil()兩個(gè)方法分別是根據(jù)前面的所有兄弟元素和后面的所有兄弟元素。


3、jQuery對(duì)象

jQuery對(duì)象是包裝DOM對(duì)象后產(chǎn)生的對(duì)象,可以說(shuō)它是一個(gè)數(shù)組對(duì)象,代表0個(gè)或多個(gè)DOM元素,具有jQuery對(duì)象的屬性和方法。


使用jQuery執(zhí)行的很多操作返回的都是一個(gè)jQuery對(duì)象。


3.1屬性方法

length  返回jQuery對(duì)象中包含元素的個(gè)數(shù),等價(jià)于size()

size()  返回jQuery對(duì)象中包含元素的個(gè)數(shù),等價(jià)于length

each(function())  在每個(gè)選中元素上運(yùn)行給定的function,并返回function修改之后的jQuery對(duì)象

get(index)   返回給定索引(index)對(duì)應(yīng)的HTMLElement對(duì)象

index(selecotr)、index(HTMLElement)、index(jQuery)  返回給定參數(shù)中匹配元素的索引序號(hào)(為HTMLElement和jQuery對(duì)象時(shí),取第一個(gè)元素)

toArray()   返回一個(gè)由jQuery對(duì)象中包含的元素構(gòu)成的HTMLElement對(duì)象數(shù)組。


3.2 jQuery對(duì)象轉(zhuǎn)換成DOM對(duì)象

jQuery對(duì)象是一個(gè)數(shù)組對(duì)象,使用 [index] 或 .get(index) 方法得到的都是一個(gè)DOM對(duì)象。


3.3 DOM對(duì)象轉(zhuǎn)換成jQuery對(duì)象。

要將DOM對(duì)象轉(zhuǎn)換成jQuery對(duì)象,其實(shí)只要將DOM對(duì)象傳入 $(DOM) 即可


4、鏈?zhǔn)椒椒?/b>

前面多次提到,大多數(shù)jQuery的操作都是返回一個(gè)jQuery對(duì)象,也正是基于此,我們可以采用方法鏈:

$('body').find('div').filter('.item')........


上面的都是個(gè)人筆記,如有錯(cuò)誤,歡迎指正!


以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)