[jQuery] 選擇器 (selector)

選擇器 (selector) ,應該可以說 jQuery 中很難慬的一部分,但只要會靈活運用,想要取得畫面上任何一個值來做運算都沒有問題了。

基本選擇器
jQuery 有三個最重要的選擇器,如下:
$(“element”):選出所有該 element 的節點
例如:$(“p”) :選出所有
的節點

$(“#divId”):選出所有
的節點

$(“.divClass”):選出所有
的節點


階層選擇器

階層屬性有以下四種:
物件中的某一種物件(空白):$(‘#div1 p’).addClass(‘d1′);
物件中的所有物件(*):$(‘#div1 *’).addClass("d1);
之後符合條件的第一個(+):$(‘#div1 + p’).addClass(‘d1′);
之後符合的所有(~):$(‘#div1 ~ p’).addClass(‘d1′);
可進來這裡觀看階層選擇器範例:http://jsfiddle.net/divaka/fuHFD/1/

子元素選擇器

$("ul li:nth-child(2)"); //第 2 個節點
$("ul li:nth-child(odd)"); //所有奇數子節點
$("ul li:nth-child(3n + 1)"); //1, 4, 7 … 個節點
$("div span:first-child") //所有的div元素的第一個子節點
$("div span:last-child") //所有的div元素的最後一個節點
$("div button:only-child") //所有只有一個 button 子節點的 div​​​​​​​​​​​​​​​​​​

屬性過濾選擇器

$("div[id]"); //選擇所有含有id屬性的div元素
$("input[name='Jack']"); //選擇所有的name屬性等於’Jack’的input元素
$("input[name!='Jack']"); //選擇所有的name屬性不等於’Jack’的input元素
$("input[name^='J']"); //選擇所有的name屬性以’J'開頭的input元素
$("input[name$='K']"); //選擇所有的name屬性以’k'結尾的input元素
$("input[name*='ck']"); //選擇所有的name屬性包含’ck’的input元素
$("input[id][name$='man']"); //可以使用多個屬性進行聯合選擇,該選擇器是得到所有的含有id屬性並且那麼屬性以man結尾的元素​​​​​​​​​​​​​​​​​​​​​​​​​​

jQuery 自訂選擇器(Custom Selectors)

:even:找出結果集中其偶數的 elements (2,4,6,8…)
: odd: 找出結果集為奇數(單數)的 elements (1,3,5,7…)
:eq(N), :nth(N):找出選擇結果集 index 為 N 的 elements
:gt(N):找出結果集中索引大於 N 的 elements
:lt(N):找出結果集中索引小於 N 的 elements
:first:找出結果集中的第一個 element (相當於 eq(0) 或者 nth(0))
:last:選擇結果集中的最後一個 element
:parent:在結果集中選擇 elements,它必須具有子 elements(包括文本節點)(跟 :empty 相反)
:contains(‘test’):選擇結果集中包含有指定文本的 elements
:has(selector):找出結果集中至少出現一次某 selector 的元素
:not(selector):反選取指定的 selector

可視 (visibility) 選擇器

:visible 選擇所有可見(visible)的 elements
display 屬性的值等於 visible、block、inline
visibility 屬性的值等於 visible
:hidden 選擇所有隱藏(visible)的 elements
display 屬性的值等於 none
visibility 屬性的值等於 hidden

表單選擇器(Form Selectors)

:input 選擇所有表單 elements(input, select, textarea, button)
:text 選擇所有 (type="text").
:password 選擇所有 (type="password").
:radio 選擇所有 (type="radio").
:checkbox 選擇所有 (type="checkbox").
:submit 選擇所有 (type="submit").
:image 選擇所有 (type="image").
:reset 選擇所有 (type="reset").
:button 選擇所有按鈕 (type="button").
:file 選擇所有
:hidden 選擇所有隱藏的表單元素

表單狀態選擇器 (Form Selectors Filter)

$("input:enabled"); //選擇所有的可操作的表單元素
$("input:disabled"); //選擇所有的不可操作的表單元素
$("input:checked"); //選擇所有的被checked的表單元素
$("input#test:checked"); //選擇所有的被checked的 input id=test 表單元素
$("select option:selected"); //選擇所有的select 的子元素中被selected的元素​​​​​​​​​



留言