jQuery選擇器的靈活用法


jQuery中選擇器很強大,可以根據元素名稱、ID、class等多種方式進行選擇,

<ul id="id">

  <li>

    <div>

      nihao

      <div class="className">

         china!!!

      </div>

    </div>

  </li>

</ul>       

$("div"),

選則所有div元素

<div>nihao<div class="className">china!!!</div></div>,

<div class="className">china!!!</div>      

$("#id"),

 選擇id="id"的元素

<ul id="id"><li><div>nihao<div class="className">china!!!</div></div></li></ul>

$(".className"),  

選擇class="className"的所有元素

 <div class="className">china!!!</div>

也可以多個方式一起使用,提高效率,

$("#id  div  .className")  ,       

選擇id="id"的元素下面class="className"的所有div

<div class="className">china!!!</div>

亦可以同時選取多個元素進行操作,

$("#id , .className"),           

選擇id="id"的元素,以及class="className"的元素

<ul id="id">  <li><div>nihao<div class="className">china!!!</div></div></li></ul>,

<div class="className">china!!!</div>

注意通過$選取獲得的是jQuery對象而不是Dom元素,若想轉換成Dom元素可以采用get()方法。

層級選擇器:

$("#id  div  .className")         

選擇父元素下面的所有子元素,這里要選擇的是#id 下面的所有的div中的所有class名為className的元素。

$("body>div") 

選擇父元素的下一級別且僅為下一級別的子元素。

<div>nihao<div class="className">china!!!</div></div>。

$("prev+next") 

緊跟在prev后面的元素。(找兄弟節點)

$("ul~input")

找出所有與ul同輩的input元素。

其他一些特殊的匹配規則:

<div><p>John</p> Resig</div>
<div>George Martin</div>
<div>Malcom John Sinclair</div>

$("div:contains(George)") ,

匹配包含指定文本的元素,

<div>George Martin</div>
$("div:has(p)"),

匹配包含指定元素"p"的元素,

<div><p>John</p> Resig</div>
$("div:first"),

獲取第一個元素,

<div><p>John</p> Resig</div>
$("div:last"),

獲取最后一個元素,

<div>Malcom John Sinclair</div>。

$("div:even"),

匹配所有索引為偶數的元素,

<div><p>John</p> Resig</div> ,

<div>Malcom John Sinclair</div>

$("div:odd"),

匹配所有索引為奇數的元素,

<div>George Martin</div>

 

 

基本選擇器
$(”#myDiv”) 匹配唯一的具有此id值的元素
$(”div”) 匹配指定名稱的所有元素
$(”.myClass”) 匹配具有此class樣式值的所有元素
$(”*”) 匹配所有元素
$(”div,span,p.myClass”) 聯合所有匹配的選擇器
層疊選擇器
$(”form input”) 后代選擇器,選擇ancestor的所有子孫節點
$(”#main > *”) 子選擇器,選擇parent的所有子節點
$(”label + input”) 臨選擇器,選擇prev的下一個臨節點(同級別節點)
$(”#prev ~ div”) 同胞選擇器,選擇prev的所有同胞節點
基本過濾選擇器
$(”tr:first”) 匹配第一個選擇的元素
$(”tr:last”) 匹配最后一個選擇的元素
$(”input:not(:checked) + span”)從原元素集合中過濾掉匹配selector的所有元素(這里有是一個臨選擇器)
$(”tr:even”) 匹配集合中偶數位置的所有元素(0開始)
$(”tr:odd”) 匹配集合中奇數位置的所有元素(0開始)
$(”td:eq(2)”) 匹配集合中指定位置的元素(0開始)
$(”td:gt(4)”) 匹配集合中指定位置之后的所有元素(0開始)
$(”td:gl(4)”) 匹配集合中指定位置之前的所有元素(0開始)
$(”:header”) 匹配所有標題
$(”div:animated”) 匹配所有正在運行動畫的所有元素
內容過濾選擇器
$(”div:contains(’John’)”) 匹配含有指定文本的所有元素
$(”td:empty”) 匹配所有空元素(只含有文本的元素不算空元素)
$(”div:has(p)”) 從原元素集合中再次匹配所有至少含有一個selector的所有元素
$(”td:parent”) 匹配所有不為空的元素(含有文本的元素也算)
$(”div:hidden”) 匹配所有隱藏的元素,也包括表單的隱藏域
$(”div:visible”) 匹配所有可見的元素
屬性過濾選擇器
$(”div[id]”) 匹配所有具有指定屬性的元素
$(”input[name=’newsletter’]”) 匹配所有具有指定屬性值的元素
$(”input[name!=’newsletter’]”) 匹配所有不具有指定屬性值的元素
$(”input[name^=’news’]”) 匹配所有指定屬性值以value開頭的元素
$(”input[name$=’letter’]”) 匹配所有指定屬性值以value結尾的元素
$(”input[name*=’man’]”) 匹配所有指定屬性值含有value字符的元素
$(”input[id][name$=’man’]”) 匹配同時符合多個選擇器的所有元素
子元素過濾選擇器
$(”ul li:nth-child(2)”),
$(”ul li:nth-child(odd)”), 匹配父元素的第n個子元素
$(”ul li:nth-child(3n + 1)”)
$(”div span:first-child”) 匹配父元素的第1個子元素
$(”div span:last-child”) 匹配父元素的最后1個子元素
$(”div button:only-child”) 匹配父元素的唯一1個子元素
表單元素選擇器
$(”:input”) 匹配所有的表單輸入元素,包括所有類型的input, textarea, select button
$(”:text”) 匹配所有類型為textinput元素
$(”:password”) 匹配所有類型為passwordinput元素
$(”:radio”) 匹配所有類型為radioinput元素
$(”:checkbox”) 匹配所有類型為checkboxinput元素
$(”:submit”) 匹配所有類型為submitinput元素
$(”:image”) 匹配所有類型為imageinput元素
$(”:reset”) 匹配所有類型為resetinput元素
$(”:button”) 匹配所有類型為buttoninput元素
$(”:file”) 匹配所有類型為fileinput元素
$(”:hidden”) 匹配所有類型為hiddeninput元素或表單的隱藏域
表單元素過濾選擇器
$(”:enabled”) 匹配所有可操作的表單元素
$(”:disabled”) 匹配所有不可操作的表單元素
$(”:checked”) 匹配所有已點選的元素
$(”select option:selected”) 匹配所有已選擇的元素


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM