jQuery學習--------jQuery過濾器

來源:互聯網
上載者:User

標籤:過濾器   運算式   filter   字串   元素   

each() 方法規定為每個匹配元素規定啟動並執行函數。


過濾:

下標過濾:

    eq(index) //擷取第index個元素


類過濾:

    hasClass(class)  //檢查當前元素是否含有某個特定的類,如果有,返回true

                       例如:$("div").hasClass("div1") //含有div1類的div元素


運算式過濾:

    filter(expr)  //篩選出與指定運算式expr匹配的元素集合,用逗號分隔多個運算式

    filter(fn)    //篩選出與指定函數fn傳回值匹配的元素集合

                  例如:$("div").filter(".red")這裡的運算式是指:選取器運算式


    has(expr)  //參數expr是一個jQuery選取器運算式字串

                   也可以是一個元素或者一組元素

               例如:$("p").has(span.red) 選擇擁有子項目span,並且子項目類為red的p元素


判斷:運算式判斷的方法不直接過濾元素,

      僅作為一個偵查工具判斷當前jQuery對象是否包含滿足條件的元素

    is(expr)

    例如:$("div").is(.red) //判斷是否有含有類red的div元素,如果有返回true


映射將jQuery中的每個對象映射到一個數組

      map(callback)   

      callback:給每個元素執行的函數


清洗:從jQuery對象中刪除合格元素,並返回這個清洗後的jQuery

      not(expr)


截取:截取當前jQuery對象中的部分元素,並將部分元素裝在一個jQuery對象中返回。

      slice(start,[end])

      start表示開始選擇子集的位置,第一個元素是0,

              如果該參數為負數,則表示從集合的尾部開始選起。

      end如果不指定,則表示到集合的結尾

         注意:被截取元素不包含end指定的位置


尋找:

向下尋找後代元素:

    DOM提供了三種方法:

       使用childNodes屬性

       使用firstChild和lastChild屬性

       使用getElementById()和getElementsByTagName()方法


    jQuery訪問後代元素:


       children()方法:尋找當前元素的所有或部分子項目

                      文法:children([expr])


       contents()方法:返回所有的子項目,還可以擷取文本節點、注釋節點

                      文法:contents();該方法沒有參數


       find()方法:尋找所有的後代元素

                   文法:find(expr)

                   例子:$("body").find("p") //返回body下所有的p元素


向上尋找祖先元素:

    DOM提供了parentNode屬性來訪問父元素。


    jQuery訪問父元素


       parents()方法:返回被選元素的所有祖先元素,直到根項目<html>

                      文法:parent([expr]):expr運算式過濾查詢到的祖先元素


       parent()方法:返回被選元素的直接父元素。


       parentsUntil()方法:尋找指定範圍內的父元素。

                          例子:$("span").parentsUntil("ul")//返回的父元素到ul標籤為止。


       offsetParent()方法:返回被選元素的第一個定位父元素。


       closest()方法:尋找指定的父元素

                      文法:closest(expr,[context])


向上尋找兄弟元素:

    DOM提供了previousSibling屬性


    jQuery訪問向上的兄弟節點:


       prev()方法:返回上一個相鄰的元素(不包括文本節點)

                   文法:prev([expr])


       prevAll()方法:返回當前元素以上的所有同輩元素

                      文法:prevAll([expr])


       prevUntil()方法:返回當前元素到selector(不包含selector選擇的元素)的所有同輩元素

                       文法:prevUntil([selector])


向下尋找兄弟元素:

    DOM提供nextSibling屬性


    jQuery訪問向下的兄弟節點:


       next()方法:匹配下一個相鄰的節點,不包括文本節點

                   文法:next([expr])


       nextAll()方法


       nextUntil()方法


尋找兄弟元素:

    jQuery方法:

       siblings()方法:尋找所以的兄弟元素。


添加尋找對象:

    add()方法:向尋找結果中添加新的尋找內容。

               文法:add(expr,[context])

               樣本:$("div").css("border","solid 5px #000")

              .add("p")

              .css("background","#990044")


串聯:

     addSelf()方法:將堆棧中的元素加入到尋找結果的中

                   樣本:

                          <ul>
                              <li>list item 1</li>
                              <li>list item 2</li>
                              <li class="third-item">list item 3</li>
                              <li>list item 4</li>
                              <li>list item 5</li>
                           </ul>

                       查詢代碼:  

                        $("li.third-item").nextAll().andSelf()
                                          .css("background-color", "red");

                       該代碼會設定3,4,5項的背景顏色。

                   解釋:初始的選取器會定位項目 3,初始化的堆棧存有僅包含該項目的集合。

                             調用 .nextAll() 會將項目 4, 5 的集合推入堆棧。

                             最後,調用 .andSelf() 會合并這兩個集合。

                             所建立的 jQuery 對象指向按照文檔順序的所有三個項目:

                                                {[<li.third-item>,<li>,<li> ]}。


     end()方法:結束當前鏈條中的最近的篩選操作,並將匹配元素集還原為之前的狀態

聯繫我們

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

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

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.