[size=medium]
我們都知道jquery物件中有乙個類陣列的元素包裝集,該集合類似js中的陣列一樣擁有length屬性,因此我們稱此為類陣列,下面我們就來總結下這個jquery物件中的類陣列時如何進行操作的
看看我們的jquery為我們都提供了哪些可用的方法:
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())返回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():返回原始包裝集所有元素的祖先元素的新包裝集;如果指定了引數,那麼該引數也是篩選表示式;
prevall():返回包含原始包裝集元素的所有前面兄弟元素的新包裝集;如果指定了引數,那麼該引數也是篩選表示式;
siblings():返回包含原始包裝集元素中的所有唯一兄弟元素所組成的新包裝集;如果指定了引數,那麼該引數也是篩選表示式;
find(string):返回包含原始包裝集裡與傳入的選擇器表示式相匹配的所有元素的新包裝集,並且原始包裝集中的元素的後代也會被傳入新的包裝集;
contains(text):返回包含text引數所傳入的文字字串的元素所組成的新包裝集;
is(string):如果包裝集中含有string匹配的元素,那麼返回true,否則返回false;
clone(copyhandle):如果傳入的引數為true,那麼會連帶事件一起拷貝,否則不拷貝事件,形成乙個新的包裝集;
end():在jquery命令鏈內呼叫,以便返回退到前乙個包裝集;
andself():合併命令鏈內最近產生的兩個包裝集;
對於包裝元素的操作就總結到這裡,如果**不對的還請各位指出來方便大家參考學習。
[/size]
jquery 工具 陣列物件操作
each array,function i,n var checkboxs new array contents 查詢內部所有子節點,不加的話find只會返回乙個匹配的結果。contentiframe.document 獲取框架內容 checkboxs contentiframe.document ...
利用jQuery操作物件陣列
jquery 對於陣列元素操作主要提供了以下工具 1 陣列和物件的例遍 jquery.each obj,callback 通用例遍方法,可用於例遍物件和陣列。函式擁有兩個引數 第乙個為物件的成員或陣列的索引,第二個為對應變數或內容。如果需要退出 each 迴圈可使 函式返回 false 其它返回值將...
JQuery操作類陣列的工具方法
jquery學習之操作類陣列的工具方法 在很多時候,jquery的 函式都返回乙個類似資料的jquery物件,例如 div 將返回div裡面的所有div元素包裝的jquery物件。在這中情況下,jquery提供了幾個常用的屬性和方法來操作jquery物件。length 該屬性返回jquery裡包含的...