<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    http://www.tkk7.com/ebecket 返還網
    隨筆-140  評論-11  文章-131  trackbacks-0

    jquery 選擇器部分整理發布:dxy 字體:[增加 減小] 類型:轉載

    jquery 選擇器,jquery學習與開發中需要用的到,大家可以收藏下,另外可以看下本站提供的學習jquery的資料。

    這個是網頁版,直接用ctrl+F搜索,如果大家不是經常上網,可以用chm版的更方便些。
    jQuery 1.3 API 參考手冊 CHM

    鋒利的jquery 電子書

    近期腳本之家將會將一些jquery學習教程逐步發一些。參考了鋒利的jquery一書。
    $的選擇器部分:
    凡是運用$,其返回值是一個object
    $選擇器主要用于選擇標簽.基本用法是同css的選擇器.但是,很讓人興奮的是,他支持常見的瀏覽器,而css中很多選擇器是IE6所不支持的.

    --------------------------------------------------------------------------------------------------------------------
    1.基本選擇器(3種):
    $("標簽名"),如$("p")是選取了所有的p標簽節點
    $("#id名"),如$("#test")是選取了id為test的標簽節點
    $(".class名"),如$(".test")是選取了所有class為test的標簽節點
    上面的$("標簽名")和$(".class名")返回的都是所有滿足的節點,至于進一步篩選可以添加一些函數,如eq,gt,lt等等.

    2.組選擇器:
    下面還是現做一個約定:把"標簽名或#id名或.class名"記作mix,則mix表示一個標簽名,或一個#id或一個.class.
    $("mix,mix,mix,..."),如:$("div,#test1,p,.test2,#test3")

    3.后代選擇器:
    $("mix mix"),當然可以是多個嵌套,但后代選擇器可以是深層子代,所以$("mix mix mix ...")這種寫法作用不大.例子:$("div .test"):在div標簽內的所有具有test的class的后代元素(就是被div嵌套的class屬性為test的標簽)
    可以見DEMO。
     
    4.子選擇器:
    $("mix>mix"),這個放在后代選擇器后面是為了和它做對比.子選擇器只能選擇第一代子代.不處理深層嵌套.例子:
    $("div>.test")
    <div><p class="test"></p></div>對這里的p段落標簽有效.但對
    <div><p><p class="test"></p></p></div>對這里的p段落標簽無效,這里要用
    $("div .test)

    5.臨近選擇器:
    $("mix+mix"),選取下一個兄弟節點.如:$("div +#test"),id為test的的節點必須是div的下一個兄弟節點.
    <div></div><p id="test"></p>在$("div + #test")中能取到p段落節點
    <div></div><p></p><p id="test"></p>則不能取到

    6.屬性選擇器:
    把屬性選擇器不放在css選擇器里面是因為jQuery中寫法是不一樣的.至于css中寫法可以參考我之前寫的一篇css的選擇器一文.jQuery中是和xPath類似的寫法:
    $("mix[@attr]"):選取所有該mix且具有attr屬性的節點
    $("mix[@attr=a_value"]):選取所有該mix且具有attr屬性并滿足屬性值為a_value的節點
    $("mix[@attr^=a_value_head"]):attr屬性的屬性值是以a_value_head開頭的
    $("mix[@attr$=a_value_end"]):attr屬性的屬性值是以a_value_end結尾的
    $("mix[@attr*=a_value"]):attr屬性的屬性值中包含a_value

    7.進一步選擇器:
    這個名稱是我自己起的,其實選擇器組合都有進一步的意思,你明白后面所介紹的知識即可.
    具有限定子節點選擇器:$("mix1[mix2]"):返回包含mix2的mix1節點.如:$("div[a]"):包含a標簽的div.
    這個和$("div a")不相同.后者表示div中的a標簽,返回的是a標簽對象,前者返回的是div標簽對象
    冒號限定結點選擇器:$("mix:condition"):mix標簽,并且滿足限定條件.
    E:root:類型為E,并且是文檔的根元素
    E:nth-child(n):是其父元素的第n個類型為E的子元素 ,基數從1開始
    E:first-child:是其父元素的第1個類型為E的子元素
    E:last-child:是其父元素的最后一個類型為E的子元素
    E:only-child:且是其父元素的唯一一個類型為E的子元素
    E:empty:沒有子元素(包括text節點)的類型為E的元素
    E:enabled
    E:disabled:類型為E,允許或被禁止的用戶界面元素
    E:checked:類型為E,處于選中狀態的用戶界面元素(例如單選按鈕或復選框)
    E:visible:選擇所有可見元素(display值為block或visible,visibility值為visible元素,不包括hide域)
    E:hidden:選擇所有隱藏元素(非Hide域,且display值為block或visible,visibility值為visible的元素)
    E:not(s):類型為E,不匹配選擇器s
    E:eq(n),E:gt(n),E:lt(n):元素限定
    E:first:相當于E:eq(0)
    E:last:最后一個匹配的元素
    E:even:從匹配的元素集中取序數為偶數的元素
    E:odd:從匹配的元素集中取序數為奇數的元素
    E:parent:選擇包含子元素(包含text節點)的所有元素
    E:contains('test'):選擇所有含有指定文本的元素

    表單選擇器:
    E:input:選擇表單元素(input,select,textarea,button)
    E:text:選擇所有文本域(type="text")
    E:password:選擇所有密碼域(type="password")
    E:radio:選擇所有單選按鈕(type="radio")
    E:checkbox:選擇所有復選框(type="checkbox")
    E:submit:選擇所有提交按鈕(type="submit")
    E:image:選擇所有圖像域 (type="image")
    E:reset:選擇所有清除域(type="reset")
    E:button:選擇所有按鈕(type="button")
    當然包括E:hidden

    8.xPath路徑查詢:
    先介紹下xPath的語法:
    /:選取根節點
    //:選取文檔中所有符合條件的節點,不管該節點位于何處
    .:選取當前節點
    ..:選取單前節點的父節點
    @:選取屬性,這個在之前說過了(屬性選擇器)
    nodename:選取節點下的所有節點

    jQuery中的應用:
    根節點是很少用到的,常用的如下面的例子:
    $("div/p")相當于$("div>p")
    $("div//p")相當于$("div p")
    $("http://div/../p"):所有div節點的父節點下的p標簽
    還有相對路徑的寫法以及支持的Axis選擇器,還不是會應用,不介紹了...已經一大堆了
    $的其他用法:
    $(html節點):根據提供的原始HTML標記字符串,動態創建由jQuery對象包裝的DOM元素.如:
    $("<div><p>Hello</p></div>").appendTo("#body");//把<div><p>Hello</p></div>添加到body元素中
    $(document):網頁文檔對象
    $(document.body):網頁body對象,和$("body")是一樣的
    $(函數):DOM載入后就執行該函數.所以$(document).ready()可以寫做$()
    $(選擇器部分,選擇器來源):這個舉例說明
    $("input:radio",document.forms[0]):在文檔的第一個表單中,搜索所有單選按鈕
    $("div",xml.responseXML):查詢指定XML文檔中的所有div元素
    選擇器來源可以是:作為上下文的DOM元素,文檔或jQuery對象
    還有兩個:$.extend(prop)和$.noConflict()是和插件以及和其他庫兼容的使用,以后再寫

    jQuery的core部分還有:
    eq(數字):將匹配的元素集合縮減為一個元素。這個元素在匹配元素集合中的位置變為0,而集合長度變成1
    gt(數字):將匹配的元素集合縮減為給定位置之后的所有元素
    lt(數字):將匹配的元素集合縮減為給定位置之前的所有元素
    上面三個的例子:
    $("div:eq(1)")//第2個div
    $("div:gt(2)")//第3個div以及之后的div
    $("div:lt(2)")//第2個div以及之前的div,即第1個div和第2個div
    length或size():當前匹配的元素數量
    each():以每一個匹配的元素作為上下文來執行一個函數。這意味著,每次執行傳遞進來的函數時,函數中的this關鍵字都指向一個不同的元素(每次都是一個不同的匹配元素).而且,在每次執行函數時,都會給函數傳遞一個表示作為執行環境的元素在匹配的元素集合中所處位置的數字值作為參數.
    $("img").each(function(i){ this.src = "test" + i + ".jpg"; });//迭代圖像,并設置它們的src屬性
    get():如果沒有參數,返回所有,是一個對象數組;如果帶參數,必須是數字,基數從0開始.例子:
    $("div").get():返回一個div對象數組
    $("div").get(1):返回第二個div對象
    index(需求的元素節點對象):返回數字.用個例子說明:
    $("div").index($(".test"))[1] //表示從所有div節點中查找class屬性為test的節點.并且找的是第二個節點(基數從0開始).返回值是該節點在div節點中的位置(基數也是從0開始).


    詳細出處參考:http://www.jb51.net/article/20647.htm

    posted on 2009-10-30 15:24 becket_zheng 閱讀(208) 評論(0)  編輯  收藏 所屬分類: 網頁web前端技術
    主站蜘蛛池模板: 国产亚洲精品免费| www.亚洲日本| 丰满人妻一区二区三区免费视频| 免费国产在线观看| 欧美激情综合亚洲一二区| 日韩成人在线免费视频| 亚洲成在人线在线播放无码| 国产精品久久久久免费a∨ | 国产偷国产偷亚洲清高动态图 | 特黄aa级毛片免费视频播放| 国产精品色午夜视频免费看| 最新亚洲人成网站在线观看| yy6080亚洲一级理论| 一级午夜a毛片免费视频| 亚洲综合色视频在线观看| 99久久免费国产特黄| 亚洲国产国产综合一区首页| 最近中文字幕免费2019| 亚洲免费网站观看视频| 免费成人黄色大片| a毛片在线免费观看| 亚洲欧洲日产专区| 日韩特黄特色大片免费视频| 国产精品青草视频免费播放| 亚洲av无码成人黄网站在线观看 | 国产一精品一AV一免费| 国产AV无码专区亚洲A∨毛片| 99久9在线|免费| 日本亚洲色大成网站www久久| 国产乱子伦精品免费无码专区| 中文字幕永久免费视频| 亚洲天天做日日做天天欢毛片| 在线看片无码永久免费视频| 野花视频在线官网免费1| 亚洲成A人片在线观看WWW| 无码国产精品一区二区免费I6| 男女超爽视频免费播放| 亚洲av无码一区二区三区不卡 | 亚洲最大的成人网| 免费一级国产生活片| 久久久高清日本道免费观看|