jquery使用選擇器獲得要操作的元素

1. 基本選擇器

jQuery的基本選擇器分如下:

  • $(“#cssid”)
    選擇id值等於”cssid”的元素,注意:在一個html文檔中id是唯一的,也即id爲“cssid”不能出現兩次(雖然即使出現了兩次瀏覽器也可以解釋,但是這是不規範的)。這個ID選擇器獲取jQuery對象也是個元素集合,但是隻有一個元素。將這個jQuery對象轉化爲DOM對象也可以這樣$(“#cssid”)[0]
  • $(“標籤名”)
    例如$(“div”)獲取的就是HTML文檔中的所有的div元素的jQuery對象集合
  • $(“.myClass”)
    獲取的是HTML文檔中所有的class爲“myClass”的元素集合
  • $(“*”)
    這個獲取的是HTML文檔中的所有的元素
  • $(“selector1,selector2,selector3…selectorN “)
    這種選擇器叫做組選擇器。例如:$(“span,#two”)選取所有的span標籤元素和id=two的元素。

2. 層次選擇器

jQuery層次選擇器只有4種用法:

  • $(“ancestor descendant”):選取parent元素後所有的child元素
    ancestor的中文意思是“祖先”,descendant的中文意思是“後代”

$(“body div”)
選取body元素下所有的div元素。

$(“ul li”)
選取ul元素下所有的li元素。

$(“#test div”)
選取id爲“test”的元素所包含的所有的div子元素

$(“div#test div”)
選取id爲“test”的div所包含的所有的div子元素

$(“.test div”)
選取class爲“test”的元素所包含的所有的div子元素

$(“div.test span”)
選取class爲“test”的div所包含的所有的span子元素

$(“span.test .demo”)
選取class爲“test”的span所包含的所有的class爲demo的元素

$(“.test .demo”)
選取class爲“test”的元素所包含的所有的class爲demo的元素

  • $(“parent > child”):選取parent元素後所有的直屬child元素,何謂“直屬”,也就是第一級的意思了

$(“body > div”)
選取body元素下所有的第一級div元素。

$(“ul > li”)
選取ul元素下所有的第一級li元素。

$(“#test > div”)
選取id爲“test”的元素所包含的所有的第一級div子元素

$(“div#test > div”)
選取id爲“test”的div所包含的所有的第一級div子元素

$(“.test > div”)
選取class爲“test”的元素所包含的所有的第一級div子元素

$(“div.test > span”)
選取class爲“test”的div所包含的所有的第一級span子元素

$(“span.test > .demo”)
選取class爲“test”的span所包含的所有的第一級class爲demo的元素

$(“.test > .demo”)
選取class爲“test”的元素所包含的所有的第一級class爲demo的元素

  • $(“prev + next”):prev和next是兩個同級別的元素. 選中在prev元素後面的next元素.
    $(“#demo+img”)選在id爲demo元素後面的img對象.如果id爲demo元素後面沒有同級的img對象,那麼這個$(“#demo+img”).length=0
  • $(“prev ~ siblings”):選擇prev後面的根據siblings過濾的元素。注:siblings是過濾器
    $(“#demo~[title]“)選擇id爲demo的元素後面所有帶有title屬性的元素,同樣如果id爲demo的元素後面沒有一個帶有title屬性的元素,那麼$(“#demo~[title]“).length = 0

3. 基本過濾選擇器

:first選取第一個元素
$(“div:first”)選取所有div元素中的第一個div元素

:last選取最後一個元素
$(“input:not:(.myclass)”)選取class不是myclass的input元素

:even選取索引是偶數的所有元素,注意:索引是從0開始的
$(“input:even”)選取索引是偶數的input元素。

:odd選取索引是奇數的所有元素,注意:索引是從0開始的
$(“input:odd”)選取索引是奇數的input元素。

:eq(index)選取索引等於index的元素,注意:索引是從0開始的
$(“input:eq(1)”)選取索引等於1的input元素。實際上選擇的是第二個input元素

:gt(index)選取索引大於index的元素,注意:索引是從0開始的
$(“input:gt(1)”)選取索引大於1的input元素。

:lt(index)選取索引小於index的元素,注意:索引是從0開始的
$(“input:lt(1)”)選取索引小於於1的input元素。這個就等同於$(“input:eq(0)”)

:header選取所有的標題元素,例如h1,h2,h3…..
$(“:header”)選取網頁中所有的h1,h2,h3….

:animated選取當前正在執行動畫的所有元素
$(“div:animated”)選取正在執行動畫的div元素

4. 內容過濾選擇器

:contains(text)選取含有文本內容爲“text”元素
$(“div:contains(‘我’)”)選取含有文本“我”的div元素

:empty選取不包含子元素和文本的空元素
$(“div:empty”)選取不包含子元素(包括文本元素)的div空元素

:has(selector)選取含有選擇器所匹配的元素的元素
$(“div:has(.mini)”)選取含有class爲mini元素的div元素。

:parent選取含有子元素或者文本的元素
$(“div:parent”)選取擁有子元素(包括文本元素)的div元素

5. 可見性過濾選擇器

:hidden選取所有不可見的元素
$(“:hidden”)選取所有不可見的元素,不可見的元素包括:<input type=”hidden”>,<div style=”display:none”>和<div style=”visibility:hidden;”>,<br />等元素。如果只想選取input的不可見元素,可以使用$(“input:hidden”)

:visible選取所有可見元素
$(“div:visible”)選取所有可見的div元素

6.屬性過濾選擇器

[attribute]選擇擁有此屬性的元素
$(“div[id]“)選取擁有屬性id的元素

[attribute=value]選取屬性的值爲value的元素
$(“div[title=test]“)選取屬性title的值爲“test”的div元素

[attribute!value]選取屬性的值不等於value的元素
$(“div[title!=test]“)選取屬性title的值不等於“test”的div元素注意:沒有屬性title的div元素也會被選取

[attribute^=value]選取屬性的值以value開始的元素
$(“div[title^=test]“)選取屬性title的值以“test”開始的div元素

[attribute$=value]選取屬性的值以value爲結束的元素
$(“div[title$=test]“)選取屬性title的值以“test”爲結束的div元素

[attribute*=value]選取屬性的值含有value的元素
$(“div[title*=test]“)選取屬性title的值含有“test”的div元素

[selector1][selector2][selectorN]用屬性選擇器合併成一個複合屬性選擇器,滿足多個條件。每選擇一次,檢索範圍就縮小一次
$(“div[id][title*=test]“)選取擁有屬性id,且屬性title的值含有“test”的div元素

7.子元素過濾選擇器

:nth-child(index/even/odd/equation)選取每個父元素下的第index個子元素或者奇偶元素
:eq(index)只匹配一個元素,而:nth-child將爲每一個父元素匹配子元素,並且要注意的一點是::nth-child(index)的index是從1開始的,而:eq(index)的index是從0開始的

:first-child選取每個父元素的第一個子元素
:first只返回單個元素,而:first-child選擇符將爲每個父元素匹配第1個子元素。例如$(“ul li:first-child”)選取的是每個<ul>中第1個<li>

:last-child選取每個父元素的最後一個子元素
:last只返回單個元素,而:last-child選擇符將爲每個父元素匹配第1個子元素。例如$(“ul li:last-child”)選取的是每個<ul>中最後1個<li>

:only-child如果某個元素是它父元素中唯一的子元素,那麼將會被匹配。如果父元素中含有其他元素,則不會被匹配
$(“ul li:only-child”)在<ul>中選取是唯一子元素的<li>元素

8.表單過濾選擇器

:enabled選取所有可用的表單元素
$(“#form1 :enabled”)選取id爲“form1”的表單內的所有可用元素

:disabled選取所有不可用的表單元素
$(“#form2 :disabled”)選取id爲“form2”的表單內的所有不可用元素

:checked選取所有被選中的元素(單選框-radio、複選框-checkbox)
$(“input:checked”)選取所有被選中的<input>元素

:selected選取所有被選中的選項元素(下拉列表)
$(“select :selected”)選取所有被選中的選項元素(option)

9.表單選擇器

:input選取所有<input>、<textarea>、<select>、<button>元素
$(“:input”)選取所有<input>、<textarea>、<select>、<button>元素

:text選取所有單行文框
$(“:text”)選取所有單行文框

:password選取所有密碼框
$(“:password”)選取所有密碼框

:radio選取所有單選框
$(“:radio”)選取所有的單選框

:checkbox選取所有複選框
$(“:checkbox”)選取所有的複選框

:submit
選取所有提交按鈕
集合元素
$(“:submit”)選取所有的提交按鈕

:image 選取所有的圖像按鈕
$(“:image”)選取所有的圖像按鈕

:reset
選取所有重置按鈕
集合元素
$(“:reset”)選取所有的重置按鈕

:button 選取所有按鈕
$(“:button”)匹配<input type=”button”><button>

:file 選取所有的上傳域
$(“:file”)選取所有的上傳域

:hidden 選取所有不可見元素
$(“:hidden”)選取所有不可見元素(已經在不可見性過濾選擇器中講解過


發佈了82 篇原創文章 · 獲贊 4 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章