網頁制作poluoluo文章簡介: 我們都知道jQUery對象中有一個類數組的元素包裝集,該集合類似js中的數組一樣擁有length屬性,因此我們稱此為類數組,下面我們就來總結下這個jQuery對象中的類數組時如何進行操作的,看看我們的jQuery為我們都提供了哪些可用的方法:
我們都知道jQUery對象中有一個類數組的元素包裝集,該集合類似js中的數組一樣擁有length屬性,因此我們稱此為類數組,下面我們就來總結下這個jQuery對象中的類數組時如何進行操作的,看看我們的jQuery為我們都提供了哪些可用的方法:
size():很明顯,它應該是返回包裝集中的元素個數,如$('a').size()表示鏈接元素的個數;
get(index):當沒指定index時就默認取包裝集中所有元素,並以js中的數組形式返回,如果指定了index,則返回下標為index對應的元素,如$('img[title]').get(0)返回包含屬性title的第一個img元素,其也等效於$('img[title]')[0];
index(elem):在包裝集中返回元素elem所在的下標,如果沒找到該元素則返回-1;
add(String|elem|Array):把參數中的元素添加到包裝集中,如果參數是jQuery選擇器,那麼將把所有匹配的對象都添加到集合中,如果是html元素那就通過clean方法得到的元素數組添加到集合中,如果是dom元素或dom元素數組,那就直接添加到集合了;注意返回的是添加後的包裝集;如$('img[alt]','img[title]')等效於$('img[alt]').add('img[title]')即返回包含了alt屬性的img元素或包含了title屬性的img元素;
not(String|elem|Array):把包裝集中滿足參數條件的元素刪除,注意參數只能是篩選表達式,即以"["或者":"開頭的表達式,如$('img[title]').not('title*=puy')即返回包含title屬性的img元素,並且這些元素的title屬性中包含有puy文本;返回的是篩選之後的包裝集;
filter(String|function):如果傳入的參數是String類型的話,那麼該表達式必須也是篩選表達式,用於從包裝集裡刪除所有與選擇器不匹配的元素;如果傳入的是一個函數的話,那麼包裝集中的每個元素都調用這個函數,若這個函數返回false則把這個元素從包裝集中刪除,而在函數中可以通過this關鍵字來調用當時包裝集中調用方法的元素;如$('td').filter(function(){return this.innerHTML.match(/^"d+$/)})返回td中的內容為數字的所有td元素;
slice(begin,end):創建並返回新的包裝集,該包裝集是原來包裝集的連續的一部分,且新包裝集的第一個元素是原包裝集中的begin位置的元素,而最後一個元素是end位置元素的前一元素,當然end可以不指定,那麼將延伸到原始包裝集的末尾;如$('*').slice(2,3)這個語句選擇頁面上的所有元素,然後生存包含原始包裝集的第三個元素的新包裝集,注意這個$('*').get(2)不同,這個返回的是元素,而slice方法返回的是包裝集,從而擁有包裝集的操作;
childen():返回原始包裝集元素的所有不同子元素所組成的新包裝集(不包含文本節點),如$('div').children()返回所有div元素下的子元素所組成的新包裝集;如果指定了參數,那麼該參數也是篩選表達式;
contents():返回原始包裝集元素的內容新包裝集(可以包含文本節點);注意此方法不能接受參數進行過濾;
next():返回原始包裝集元素的所有唯一的下一個兄弟元素所組成的新包裝集;如果指定了參數,那麼該參數也是篩選表達式;如$('div#someDiv').next()返回包含id為someDiv的div元素的下一個兄弟元素的包裝集;如果指定了參數,那麼該參數也是篩選表達式;
nextAll():返回包含原始包裝集元素的所有後續兄弟的新包裝集;如$('div#someDiv').nextAll()返回包含id為someDiv的div元素的後面兄弟元素的新包裝集;如果指定了參數,那麼該參數也是篩選表達式;
parent():返回原始包裝集所有元素的唯一直接父元素的新包裝集;如果指定了參數,那麼該參數也是篩選表達式;
parents():返回原始包裝集所有元素的祖先元素的新包裝集;如果指定了參數,那麼該參數也是篩選表達式;
prev():返回原始包裝集元素的所有唯一的上一個兄弟元素組成的新包裝集;如果指定了參數,那麼該參數也是篩選表達式;
prevAll():返回包含原始包裝集元素的所有前面兄弟元素的新包裝集;如果指定了參數,那麼該參數也是篩選表達式;
siblings():返回包含原始包裝集元素中的所有唯一兄弟元素所組成的新包裝集;如果指定了參數,那麼該參數也是篩選表達式;
find(String):返回包含原始包裝集裡與傳入的選擇器表達式相匹配的所有元素的新包裝集,並且原始包裝集中的元素的後代也會被傳入新的包裝集;
contains(text):返回包含text參數所傳入的文本字符串的元素所組成的新包裝集;
is(String):如果包裝集中含有String匹配的元素,那麼返回true,否則返回false;
clone(copyHandle):如果傳入的參數為true,那麼會連帶事件一起拷貝,否則不拷貝事件,形成一個新的包裝集;
end():在jQuery命令鏈內調用,以便返回退到前一個包裝集;
andSelf():合並命令鏈內最近產生的兩個包裝集;
對於包裝元素的操作就總結到這裡,如果哪裡不對的還請各位指出來方便大家參考學習。