看看我們的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元素的下一個兄弟元素的包裝集;如果指定了參數,那么該參數也是篩選表達式;
新聞熱點
疑難解答
圖片精選