首頁 php教程 PHP开发 jQuery選擇器全集詳解

jQuery選擇器全集詳解

Dec 17, 2016 pm 04:22 PM

通俗的講, Selector選擇器就是”一個表示特殊語義的字符串”. 只要把選擇器字符串傳入上面的方法中就能夠選擇不同的Dom對象並且以jQuery包裝集的形式返回.

但是如何將jQuery選擇器分類讓我犯錯. 因為書上的分類和jQuery官方的分類截然不同. 最後我決定以實用為主, 暫時不去了解CSS3選擇器標準, 而按照jQuery官方的分類進行講解.

jQuery的選擇器支援CSS3選擇器標準. 以下是W3C最新的CSS3選擇器標準:

http://www.w3.org/TR/css3-selectors/

標準中的選擇器都可以在jQuery中使用.

jQuery選擇器按照功能主要分為”選擇”和”過濾”. 並且是配合使用的. 可以同時使用組合成一個選擇器字符串. 主要的區別是”過濾”作用的​​選擇器是指定條件從前面匹配的內容中篩選, “過濾”選擇器也可以單獨使用, 表示從全部”*”中篩選. 例如:

$(“:[title]”)

等同於:

$ (“*:[title]”)

而” 選擇”功能的選擇器則不會有預設的範圍, 因為作用是”選擇”而不是”過濾”.

下面的選擇器分類中, 帶有”過濾器”的分類表示是”過濾”選擇器, 否則就是”選擇”功能的選擇器.

jQuery選擇器分為如下幾類:

[說明]
1. 點擊”名稱”會跳轉到此方法的jQuery官方說明文檔.
2.可以在下節中的jQuery選擇器實驗室測試各種選擇器

1. 基礎選擇器Basics

名稱

說明

舉例

#id

根據元素Id選擇

$(“divId”) 選擇ID為divId的元素

element

根據元素的名稱選擇,

$(“a”) 選擇所有元素

.class

$(“a”) 選擇所有元素

.class

根據元素的css類別選擇

$(“.bgRed”) 選擇所用CSS類為bgRed的元素

*

選擇所有元素


$(“*”)選擇頁上所有元素
sel

selectorN

可以將幾個選擇器用”,”分隔開然後再拼成一個選擇器字串.會同時選中這幾個選擇器匹配的內容.

$(“#divId, a, .bgRed” )

[學習建議]: 大家暫時記住基礎選擇器即可, 可以直接跳到下一節”jQuery選擇器實驗室”進行動手練習, 以後再回來慢慢學習全部的選擇器, 或者用到的時候再回來查詢.

2.層次選擇器Hierarchy

名稱

說明

舉例

ancestor descendant

使用」form input」的形式

ancestor descendant

使用」form input」的形式中的所有祖先類型. from, descendant(子孫)為input.

$(“.bgRed div”) 選擇CSS類別為bgRed的元素中的所有

元素.

parent > child

選擇parent 的直接子child. child必須包含在parent中且父類別是parent元素.

$(“.myList>li”) 選擇CSS類別為myList元素中的直接子節點

  • 物件.

    prev + next

    prev和next是兩個同等級的元素. 選取在prev元素後面的next元素.

    $(“#hibiscus+img”)選在id為hibiscus元素後面的img對象.

    prev ~ siblings

    選擇prev後面的根據siblings過濾的元素

    註:siblings 是過濾器

    $(“#someDiv~[title]”)選擇id為someDiv的物件後面所有帶有title屬性的元素

    3. 基本過濾器Basic Filters

    名稱

    說明

    舉例

    :first

    匹配找到的第一個元素

    查找表格的第一行:$(“tr:first”

    :last

    找出表格的最後一行:$(“tr:last”)

    :not(selector)

    去除所有與給定選擇器匹配的元素

    查找所有未選中的input 元素: $(“input:not( :checked)”)

    :even

    匹配所有索引值為偶數的元素,從0 開始計數

    查找表格的1、3、5…行:$(“tr:even”)

    :odd

    符合所有索引值為奇數的元素,從0 開始計數

    查找表格的2、4、6行:$(“tr:odd”)

    :eq(index)

    匹配一個給定索引值的元素

    註:index從0 開始計數

    查找第二行:$(“tr:eq(1)”)

    :gt(index)

    匹配所有大於給定索引值的元素

    注:index從0 開始計數

    查找第二第三行,即索引值是1和2,也就是比0 大:$(“tr:gt(0)”)

    :lt(index)

    選擇結果集中索引小於N 的elements

    註:index 從0 開始計數

    查找第一第二行,即索引值是0和1,也就是比2小:$(“tr:lt(2)”)

    :header

    選擇所有h1,h2,h3一類的header標籤.

    給頁面內所有標題加上背景色: $(“:header”).css(“background”, “#EEE”);

    : animated

    符合所有正在執行動畫效果的元素

    只有對不在執行動畫效果的元素執行一個動畫特效: $(“#run”).click(function(){

    $(“div:not(:animated )”).animate({ left: “+=20″ }, 1000);

    });

    4. 內容過濾器Content Filters

    🎜名稱🎜

    說明

    舉例

    :contains(text)

    匹配包含給定文本的元素

    查找所有包含「John」的div 元素:$(“div:contains('John')”)

    :empty

    匹配所有不包含子元素或文字的空元素

    查找所有不包含子元素或文字的空元素:$(“td:empty”)

    :has(selector)

    匹配含有選擇器所匹配的元素的元素

    為所有包含p 元素的div 元素添加一個text 類別: $(“div:has(p)”).addClass(“test”);

    :parent

    匹配含有子元素或文本的元素

    查找所有含有子元素或文字的td 元素:$(“td:parent”)

    5.可見性過濾器Visibility Filters

    名稱

    說明

    舉例

    名稱

    的不可見元素

    注:在1.3.2版本中, hidden匹配自身或父類在文檔中不佔用空間的元素.如果使用CSS visibility屬性讓其不顯示但是佔位,則不輸入hidden.

    尋找所有不可見的tr 元素:$(“tr:hidden”)

    :visible

    匹配所有的可見元素

    查找所有可見的tr 元素:$(“tr:visible”)

    6.屬性過濾器Attribute Filters

    名稱

    說明

    舉例

    [attribute]

    匹配包含給定屬性的元素

    ? attribute=value]

    匹配給定的屬性是某個特定值的元素

    查找所有name 屬性是newsletter 的input 元素:

    $(“input[name='newsletter']”).attr(“checked” , true);

    [attribute!=value]

    匹配給定的屬性是不包含某個特定值的元素

    查找所有name 屬性不是newsletter 的input 元素:

    $(“input[name!=' newsletter']”).attr(“checked”, true);

    [attribute^=value]

    匹配給定的屬性是以某些值開始的元素

    $(“input[name^='news ']”)

    [attribute$=value]

    匹配給定的屬性是以某些值結尾的元素

    查找所有name 以'letter' 結尾的input 元素:

    $(“input[name$= 'letter']”)

    [attribute*=value]

    匹配給定的屬性是以包含某些值的元素

    查找所有name 包含'man' 的input 元素:

    $(“input[name* ='man']”)

    [attributeFilter1][attributeFilter2][attributeFilterN]

    複合屬性選擇器,需要同時滿足多個條件時使用。

    找到所有含有id 屬性,並且它的name 屬性是以man 結尾的:

    $(“input[id][name$='man']”)

    7.子元素過濾器Child Filters

    名稱

    說明

    舉例

    :nth-child(index/even/odd/equation)

    符合其父元素下的第N個子或奇偶元素

    ':eq(index)' 只符合一個元素,而這將為每一個父元素匹配子元素。 :nth-child從1開始的,而:eq()是從0算起的!

    可以使用:

    nth-child(even)

    :nth-child(odd)

    :nth-child(3n)
    :nth-child(2)
    :nth-child(3n+1)
    :nth-child(2)
    :nth-child(3n+1)
    :nth-child(2)
    :nth-child(3n+1)

    :nth-child(2)

    :nth-child(3n+1)
    :nth-child( child(3n+2)

    在每個ul 尋找第2 個li:

    $(“ul li:nth-child(2)”)

    :first-child

    匹配第一個子元素


    ' :first' 只匹配一個元素,而此選擇符將為每個父元素匹配一個子元素

    在每個ul 中查找第一個li:

    $(“ul li:first-child”)

    : last-child

    匹配最後一個子元素


    ':last'只匹配一個元素, 而此選擇符將為每個父元素匹配一個子元素

    在每個ul 中查找最後一個li:

    $( 「ul li:last-child」)

    :only-child

    如果某個元素是父元素中唯一的子元素,那將會被匹配


    如果父元素中含有其他元素,那將不會被匹配。

    在ul 中尋找是唯一子元素的li:
    $(“ul li:only-child”)

    8. 表單選擇器Forms

    名稱

    說明

    解釋所有符合

    , textarea, select 和button 元素

    查找所有的input元素:
    $(“:input”)

    :text

    匹配所有的文字方塊

    查找所有文字方塊:
    符合所有的文字方塊

    查找所有文字方塊:

    :password

    匹配所有密碼框

    查找所有密碼框:

    $(“:password”)

    :radio

    匹配所有單選按鈕

    複選框

    查找所有複選框:

    $(“:checkbox”)

    :submit

    匹配所有提交按鈕

    查找所有提交按鈕:

    $(“:submit”)

    匹配所有圖像域

    匹配所有圖像域:

    $(“:image”)

    :reset

    匹配所有重置按鈕

    查找所有重置按鈕:

    $(“:reset”)

    查找所有重置按鈕:

    $(“:reset”)


    :button

    匹配所有按鈕

    查找所有按鈕:

    $(“:button”)

    :file

    匹配所有文件域

    查找所有文件域:

    $(“:3”)

    查找單過濾器.器Form Filters

    名稱

    說明

    解釋

    :enabled

    匹配所有可用元素

    查找所有可用的input元素:put

    $(“input:able)

    匹配所有不可用元素

    查找所有不可用的input元素:
    $(“input:disabled”)

    :checked

    匹配所有選中的被選中元素(複選框、單選框等,不包括select中的option)

    尋找所有選取的複選框元素:
    $(“input:checked”)

    :selected

    符合所有選取的option元素

    找出所有選取的選項元素:
    符合所有選取的option元素

    查找所有選取的選項元素:
    select option:selected”)


    🎜🎜更多jQuery選擇器全集詳解相關文章請關注PHP中文網! 🎜
  • 本網站聲明
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

    熱AI工具

    Undresser.AI Undress

    Undresser.AI Undress

    人工智慧驅動的應用程序,用於創建逼真的裸體照片

    AI Clothes Remover

    AI Clothes Remover

    用於從照片中去除衣服的線上人工智慧工具。

    Undress AI Tool

    Undress AI Tool

    免費脫衣圖片

    Clothoff.io

    Clothoff.io

    AI脫衣器

    AI Hentai Generator

    AI Hentai Generator

    免費產生 AI 無盡。

    熱門文章

    R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
    1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O.最佳圖形設置
    1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O.如果您聽不到任何人,如何修復音頻
    1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O.聊天命令以及如何使用它們
    1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

    熱工具

    記事本++7.3.1

    記事本++7.3.1

    好用且免費的程式碼編輯器

    SublimeText3漢化版

    SublimeText3漢化版

    中文版,非常好用

    禪工作室 13.0.1

    禪工作室 13.0.1

    強大的PHP整合開發環境

    Dreamweaver CS6

    Dreamweaver CS6

    視覺化網頁開發工具

    SublimeText3 Mac版

    SublimeText3 Mac版

    神級程式碼編輯軟體(SublimeText3)