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”) 匹配所有類型為text的input元素
$(”:password”) 匹配所有類型為password的input元素
$(”:radio”) 匹配所有類型為radio的input元素
$(”:checkbox”) 匹配所有類型為checkbox的input元素
$(”:submit”) 匹配所有類型為submit的input元素
$(”:image”) 匹配所有類型為image的input元素
$(”:reset”) 匹配所有類型為reset的input元素
$(”:button”) 匹配所有類型為button的input元素
$(”:file”) 匹配所有類型為file的input元素
$(”:hidden”) 匹配所有類型為hidden的input元素或表單的隱藏域
表單元素過濾選擇器
$(”:enabled”) 匹配所有可操作的表單元素
$(”:disabled”) 匹配所有不可操作的表單元素
$(”:checked”) 匹配所有已點選的元素
$(”select option:selected”) 匹配所有已選擇的元素