jQuery對象中的類數組操作

來源:互聯網
上載者:User

  我們都知道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(StringelemArray):把參數中的元素添加到封裝集中,如果參數是jQuery選取器,那麼將把所有匹配的對象都添加到集合中,如果是html元素那就通過clean方法得到的元素數組添加到集合中,如果是dom元素或dom元素數組,那就直接添加到集合了;注意返回的是添加後的封裝集;如$('img[alt]','img[title]')等效於$('img[alt]').add('img[title]')即返回包含了alt屬性的img元素或包含了title屬性的img元素;

  not(StringelemArray):把封裝集中滿足參數條件的元素刪除,注意參數只能是篩選條件運算式,即以"["或者":"開頭的運算式,如$('img[title]').not('title*=puy')即返回包含title屬性的img元素,並且這些元素的title屬性中包含有puy文本;返回的是篩選之後的封裝集;

  filter(Stringfunction):如果傳入的參數是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():合并命令鏈內最近產生的兩個封裝集;

  對於封裝元素的操作就總結到這裡,如果哪裡不對的還請各位指出來方便大家參考學習。



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。