點擊"名稱"會跳轉到此方法的jQuery官方說明文檔.?
### 1. 基礎選擇器?Basics
<table cellspacing="1" cellpadding="5" width="767" border="1" style="margin:0px 0px 0px 10px; padding:0px; width:650px; border:1px solid silver; border-collapse:collapse; word-break:break-word; color:rgb(51,51,51); font-family:verdana,Arial,Helvetica,sans-serif; font-size:14px; line-height:25.2000007629395px"><tbody style="margin:0px; padding:0px"><tr style="margin:0px; padding:0px"><td valign="top" width="130" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse"><span style="margin:0px; padding:0px; color:rgb(0,0,0)">名稱</span></td><td valign="top" width="365" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse"><span style="margin:0px; padding:0px; color:rgb(0,0,0)">說明</span></td><td valign="top" width="266" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse"><span style="margin:0px; padding:0px; color:rgb(0,0,0)">舉例</span></td></tr><tr style="margin:0px; padding:0px"><td valign="top" width="139" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse"><span style="margin:0px; padding:0px"><a target="_blank" href="http://docs.jquery.com/Selectors/id#id" style="margin:0px; padding:0px; text-decoration:none; color:rgb(0,0,0); border-bottom-width:1px; border-bottom-style:dotted; border-bottom-color:rgb(51,51,51)">#id</a></span></td><td valign="top" width="360" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse">根據元素Id選擇</td><td valign="top" width="264" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse">$("divId") 選擇ID為divId的元素</td></tr><tr style="margin:0px; padding:0px"><td valign="top" width="146" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse"><span style="margin:0px; padding:0px"><a target="_blank" href="http://docs.jquery.com/Selectors/element#element" style="margin:0px; padding:0px; text-decoration:none; color:rgb(0,0,0); border-bottom-width:1px; border-bottom-style:dotted; border-bottom-color:rgb(51,51,51)">element</a></span></td><td valign="top" width="356" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse">根據元素的名稱選擇,</td><td valign="top" width="262" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse">$("a") 選擇所有<a>元素</td></tr><tr style="margin:0px; padding:0px"><td valign="top" width="152" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse"><span style="margin:0px; padding:0px"><a target="_blank" href="http://docs.jquery.com/Selectors/class#class" style="margin:0px; padding:0px; text-decoration:none; color:rgb(0,0,0); border-bottom-width:1px; border-bottom-style:dotted; border-bottom-color:rgb(51,51,51)">.class</a></span></td><td valign="top" width="353" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse">根據元素的css類選擇</td><td valign="top" width="260" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse">$(".bgRed") 選擇所用CSS類為bgRed的元素</td></tr><tr style="margin:0px; padding:0px"><td valign="top" width="157" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse"><span style="margin:0px; padding:0px"><a target="_blank" href="http://docs.jquery.com/Selectors/all" style="margin:0px; padding:0px; text-decoration:none; color:rgb(0,0,0); border-bottom-width:1px; border-bottom-style:dotted; border-bottom-color:rgb(51,51,51)">*</a></span></td><td valign="top" width="351" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse">選擇所有元素</td><td valign="top" width="259" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse">$("*")選擇頁面所有元素</td></tr><tr style="margin:0px; padding:0px"><td valign="top" width="160" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse"><span style="margin:0px; padding:0px"><a target="_blank" href="http://docs.jquery.com/Selectors/multiple#selector1selector2selectorN" style="margin:0px; padding:0px; text-decoration:none; color:rgb(0,0,0); border-bottom-width:1px; border-bottom-style:dotted; border-bottom-color:rgb(51,51,51)">selector1,?<br style="margin:0px; padding:0px"/>selector2,?<br style="margin:0px; padding:0px"/>selectorN</a></span></td><td valign="top" width="349" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse">可以將幾個選擇器用","分隔開然后再拼成一個選擇器字符串.會同時選中這幾個選擇器匹配的內容.</td><td valign="top" width="263" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse">$("#divId, a, .bgRed")</td></tr></tbody></table>
~~~
function f1(){
//通過【id選擇器】獲得節點
//$()符號就是jquery的函數,函數執行完畢返回對象
$("#bread").css('color','red');
//【class類別選擇器】
$(".milk").css('color','blue');
//【tag標簽選擇器】
$("h2").css('color','green');
$("p").css('color','gold');
//【通配符選擇器*】 ,獲得全部節點
$("*").css("color",'blue');
//【聯合選擇器】
$("#bread,.milk,p").css('background-color','lightblue');
}
</script>
<style type="text/css">
#bread{}
.milk{}
p{}
*{}
#bread,.milk,p {}
</style>
</head>
<body>
<h2>基本選擇器</h2>
<div id="bread">bread</div>
<div class="milk">milk</div>
<div>apple</div>
<p>banana</p>
<input type="button" value="觸發" onclick="f1()">
</body>
~~~
[學習建議]:?大家暫時記住基礎選擇器即可, 可以直接跳到下一節"jQuery選擇器實驗室"進行動手練習, 以后再回來慢慢學習全部的選擇器, 或者用到的時候再回來查詢.
### 2.層次選擇器?Hierarchy
<table cellspacing="1" cellpadding="5" width="774" border="1" style="margin:0px 0px 0px 10px; padding:0px; width:650px; border:1px solid silver; border-collapse:collapse; word-break:break-word; color:rgb(51,51,51); font-family:verdana,Arial,Helvetica,sans-serif; font-size:14px; line-height:25.2000007629395px"><tbody style="margin:0px; padding:0px"><tr style="margin:0px; padding:0px"><td valign="top" width="173" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse"><span style="margin:0px; padding:0px; color:rgb(0,0,0)">名稱</span></td><td valign="top" width="321" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse"><span style="margin:0px; padding:0px; color:rgb(0,0,0)">說明</span></td><td valign="top" width="274" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse"><span style="margin:0px; padding:0px; color:rgb(0,0,0)">舉例</span></td></tr><tr style="margin:0px; padding:0px"><td valign="top" width="178" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse"><span style="margin:0px; padding:0px"><a target="_blank" href="http://docs.jquery.com/Selectors/descendant#ancestordescendant" style="margin:0px; padding:0px; text-decoration:none; color:rgb(0,0,0); border-bottom-width:1px; border-bottom-style:dotted; border-bottom-color:rgb(51,51,51)">ancestor descendant</a></span></td><td valign="top" width="318" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse">使用"form input"的形式選中form中的所有input元素.即ancestor(祖先)為from, descendant(子孫)為input.</td><td valign="top" width="273" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse">$(".bgRed div") 選擇CSS類為bgRed的元素中的所有<div>元素.</td></tr><tr style="margin:0px; padding:0px"><td valign="top" width="181" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse"><span style="margin:0px; padding:0px"><a target="_blank" href="http://docs.jquery.com/Selectors/child#parentchild" style="margin:0px; padding:0px; text-decoration:none; color:rgb(0,0,0); border-bottom-width:1px; border-bottom-style:dotted; border-bottom-color:rgb(51,51,51)">parent > child</a></span></td><td valign="top" width="316" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse">選擇parent的直接子節點child.? child必須包含在parent中并且父類是parent元素.</td><td valign="top" width="272" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse">$(".myList>li") 選擇CSS類為myList元素中的直接子節點<li>對象.</td></tr><tr style="margin:0px; padding:0px"><td valign="top" width="184" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse"><span style="margin:0px; padding:0px"><a target="_blank" href="http://docs.jquery.com/Selectors/next#prevnext" style="margin:0px; padding:0px; text-decoration:none; color:rgb(0,0,0); border-bottom-width:1px; border-bottom-style:dotted; border-bottom-color:rgb(51,51,51)">prev + next</a></span></td><td valign="top" width="315" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse">prev和next是兩個同級別的元素. 選中在prev元素后面的next元素.</td><td valign="top" width="272" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse">$("#hibiscus+img")選在id為hibiscus元素后面的img對象.</td></tr><tr style="margin:0px; padding:0px"><td valign="top" width="185" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse"><span style="margin:0px; padding:0px"><a target="_blank" href="http://docs.jquery.com/Selectors/siblings#prevsiblings" style="margin:0px; padding:0px; text-decoration:none; color:rgb(0,0,0); border-bottom-width:1px; border-bottom-style:dotted; border-bottom-color:rgb(51,51,51)">prev ~ siblings</a></span></td><td valign="top" width="314" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse"><span style="margin:0px; padding:0px; color:rgb(0,0,0)">?</span>選擇prev后面的根據siblings過濾的元素<br style="margin:0px; padding:0px"/>注:siblings是過濾器</td><td valign="top" width="274" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse">$("#someDiv~[title]")選擇id為someDiv的對象后面所有帶有title屬性的元素</td></tr></tbody></table>
實例:
**2.1 ancestor descendant:父子級關系**
派生選擇器
~~~
$(“#bread? .milk”)
<div id=bread><input class=milk><spanclass=milk>
<div><p class=milk></div>
</div>
~~~
在指定的父級選擇器下邊獲得全部的派生子級(后代)元素
2.2 ? ??parent > child :父子級關系
在給定的父元素下匹配所有子元素.
~~~
$(“#bread >.milk”)
<div id=bread>
<input class=milk>
<spanclass=milk></span>
<div>
<p class=milk></p>
~~~
**2.3 prev + next:兄弟級關系**
匹配緊接在 所有prev 元素后的 next(下一個) 元素
~~~
$(“#bread + .milk”)
<div id=bread>
<span class=milk></span>
</div>
<p class=milk></p>
<spanclass=milk></span>
~~~
**2.4 prev ~ siblings:兄弟級關系**
匹配 prev 元素之后的所有 siblings 元素.
~~~
$(“#bread ~ .milk”)
<span class=milk>
<div id=bread>
<span class=milk></span>
</div>
<p class=milk></p>
<span class=milk></span>
<inputclass=milk />
~~~
~~~
function f1(){
//派生選擇器$("sel1 sel2")
$("#bread .milk").css("color","red");
//子元素選擇器$("sel1 > sel2")
$("#bread > .milk").css('color','red');
//匹配緊貼在一起的下一個元素
$("#bread + .milk").css("color",'red');
//匹配prev之后所有的兄弟節點
//$("prev ~ sibling")
$("#bread ~ .milk").css("color","red");
}
</script>
<style type="text/css">
</style>
</head>
<body>
<h2>層次選擇器</h2>
<div id="bread">
<input type="text" value="hello" class="milk">
<span class="milk">world</span>
<div>
<span class="milk">pear</span>
</div>
</div>
<p class="milk">this is p tag</p>
<span class="milk">desk</span>
<div id="apple"><span class="milk">第二個span</span></div>
<input type="button" value="觸發" onclick="f1()" />
</body>
~~~
### 3.基本過濾器?Basic Filters
<table cellspacing="1" cellpadding="5" width="776" border="1" style="margin:0px 0px 0px 10px; padding:0px; width:650px; border:1px solid silver; border-collapse:collapse; word-break:break-word; color:rgb(51,51,51); font-family:verdana,Arial,Helvetica,sans-serif; font-size:14px; line-height:25.2000007629395px"><tbody style="margin:0px; padding:0px"><tr style="margin:0px; padding:0px"><td valign="top" width="171" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse"><span style="margin:0px; padding:0px; color:rgb(0,0,0)">名稱</span></td><td valign="top" width="207" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse"><span style="margin:0px; padding:0px; color:rgb(0,0,0)">說明</span></td><td valign="top" width="392" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse"><span style="margin:0px; padding:0px; color:rgb(0,0,0)">舉例</span></td></tr><tr style="margin:0px; padding:0px"><td valign="top" width="175" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse"><span style="margin:0px; padding:0px"><a target="_blank" href="http://docs.jquery.com/Selectors/first" style="margin:0px; padding:0px; text-decoration:none; color:rgb(0,0,0); border-bottom-width:1px; border-bottom-style:dotted; border-bottom-color:rgb(51,51,51)">:first</a></span></td><td valign="top" width="206" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse">匹配找到的第一個元素</td><td valign="top" width="390" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse">查找表格的第一行:$("tr:first")</td></tr><tr style="margin:0px; padding:0px"><td valign="top" width="178" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse"><span style="margin:0px; padding:0px"><a target="_blank" href="http://docs.jquery.com/Selectors/last" style="margin:0px; padding:0px; text-decoration:none; color:rgb(0,0,0); border-bottom-width:1px; border-bottom-style:dotted; border-bottom-color:rgb(51,51,51)">:last</a></span></td><td valign="top" width="206" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse">匹配找到的最后一個元素</td><td valign="top" width="389" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse">查找表格的最后一行:$("tr:last")</td></tr><tr style="margin:0px; padding:0px"><td valign="top" width="179" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse"><span style="margin:0px; padding:0px"><a target="_blank" href="http://docs.jquery.com/Selectors/not#selector" style="margin:0px; padding:0px; text-decoration:none; color:rgb(0,0,0); border-bottom-width:1px; border-bottom-style:dotted; border-bottom-color:rgb(51,51,51)">:not(selector)</a></span></td><td valign="top" width="205" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse">去除所有與給定選擇器匹配的元素</td><td valign="top" width="388" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse">查找所有未選中的 input 元素: $("input:not(:checked)")</td></tr><tr style="margin:0px; padding:0px"><td valign="top" width="181" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse"><span style="margin:0px; padding:0px"><a target="_blank" href="http://docs.jquery.com/Selectors/even" style="margin:0px; padding:0px; text-decoration:none; color:rgb(0,0,0); border-bottom-width:1px; border-bottom-style:dotted; border-bottom-color:rgb(51,51,51)">:even</a></span></td><td valign="top" width="205" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse">匹配所有索引值為偶數的元素,從 0 開始計數</td><td valign="top" width="387" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse">查找表格的1、3、5...行:$("tr:even")</td></tr><tr style="margin:0px; padding:0px"><td valign="top" width="182" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse"><span style="margin:0px; padding:0px"><a target="_blank" href="http://docs.jquery.com/Selectors/odd" style="margin:0px; padding:0px; text-decoration:none; color:rgb(0,0,0); border-bottom-width:1px; border-bottom-style:dotted; border-bottom-color:rgb(51,51,51)">:odd</a></span></td><td valign="top" width="205" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse">匹配所有索引值為奇數的元素,從 0 開始計數</td><td valign="top" width="387" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse">查找表格的2、4、6行:$("tr:odd")</td></tr><tr style="margin:0px; padding:0px"><td valign="top" width="182" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse"><span style="margin:0px; padding:0px"><a target="_blank" href="http://docs.jquery.com/Selectors/eq#index" style="margin:0px; padding:0px; text-decoration:none; color:rgb(0,0,0); border-bottom-width:1px; border-bottom-style:dotted; border-bottom-color:rgb(51,51,51)">:eq(index)</a></span></td><td valign="top" width="205" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse">匹配一個給定索引值的元素?<br style="margin:0px; padding:0px"/>注:index從 0 開始計數</td><td valign="top" width="387" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse">查找第二行:$("tr:eq(1)")</td></tr><tr style="margin:0px; padding:0px"><td valign="top" width="182" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse"><span style="margin:0px; padding:0px"><a target="_blank" href="http://docs.jquery.com/Selectors/gt#index" style="margin:0px; padding:0px; text-decoration:none; color:rgb(0,0,0); border-bottom-width:1px; border-bottom-style:dotted; border-bottom-color:rgb(51,51,51)">:gt(index)</a></span></td><td valign="top" width="205" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse">匹配所有大于給定索引值的元素?<br style="margin:0px; padding:0px"/>注:index從 0 開始計數</td><td valign="top" width="387" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse">查找第二第三行,即索引值是1和2,也就是比0大:$("tr:gt(0)")</td></tr><tr style="margin:0px; padding:0px"><td valign="top" width="182" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse"><span style="margin:0px; padding:0px"><a target="_blank" href="http://docs.jquery.com/Selectors/lt#index" style="margin:0px; padding:0px; text-decoration:none; color:rgb(0,0,0); border-bottom-width:1px; border-bottom-style:dotted; border-bottom-color:rgb(51,51,51)">:lt(index)</a></span></td><td valign="top" width="205" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse">選擇結果集中索引小于 N 的 elements?<br style="margin:0px; padding:0px"/>注:index從 0 開始計數</td><td valign="top" width="387" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse">查找第一第二行,即索引值是0和1,也就是比2小:$("tr:lt(2)")</td></tr><tr style="margin:0px; padding:0px"><td valign="top" width="182" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse"><span style="margin:0px; padding:0px"><a target="_blank" href="http://docs.jquery.com/Selectors/header" style="margin:0px; padding:0px; text-decoration:none; color:rgb(0,0,0); border-bottom-width:1px; border-bottom-style:dotted; border-bottom-color:rgb(51,51,51)">:header</a></span></td><td valign="top" width="205" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse">選擇所有h1,h2,h3一類的header標簽.</td><td valign="top" width="387" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse">給頁面內所有標題加上背景色: $(":header").css("background", "#EEE");</td></tr><tr style="margin:0px; padding:0px"><td valign="top" width="182" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse"><span style="margin:0px; padding:0px"><a target="_blank" href="http://docs.jquery.com/Selectors/animated" style="margin:0px; padding:0px; text-decoration:none; color:rgb(0,0,0); border-bottom-width:1px; border-bottom-style:dotted; border-bottom-color:rgb(51,51,51)">:animated</a></span></td><td valign="top" width="205" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse">匹配所有正在執行動畫效果的元素</td><td valign="top" width="387" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse">只有對不在執行動畫效果的元素執行一個動畫特效:<p style="margin:10px auto; padding-top:0px; padding-bottom:0px; padding-left:20px">$("#run").click(function(){?<br style="margin:0px; padding:0px"/>? $("div:not(:animated)").animate({ left: "+=20" }, 1000);?<br style="margin:0px; padding:0px"/>});</p></td></tr></tbody></table>
~~~
function f1(){
$("li").css("color","red"); //獲得全部li元素
//過濾選擇器
$("li:first").css("color","red"); //把全部li元素的第一個過濾出來
$("li:last").css("color","red"); //把全部li元素的最后一個過濾出來
$("li:odd").css("color","red"); //奇數 li,下標從0開始計算
$("li:even").css("color","red"); //偶數li,下標從0開始計算
$("li:eq(6)").css("color","red"); //過濾指定下標的節點 eq (equal)
//過濾下標大于某個范圍的元素
$("li:gt(3)").css("color","red"); //gt : greate than(greate wall)
$("li:lt(4)").css("color","red"); //lt : less than
//過濾器【嵌套】使用
$("li:odd") //奇數li li的下標從0開始
$("li:gt(0):odd").css("color","red") //奇數,(智 [播])
//li:gt(0)元素下標重新從0開始計算,再與odd進行賽選
$("li:gt(2):even").css("color","red"); //”客“ 開始
$("li:gt(3):eq(2)").css("color","red"); //"集"字被過濾出來
$("li:not(#ke)").css("color","red"); //not去除指定的選擇器元素
$("li:not(#ke,#yu)").css("color","red"); //not去除指定的選擇器元素
//$("*:header").css("color","red");//過濾h1 h2 h3 h4 h5 h6等標題標簽
//$("h2")//全部h2
$(".apple:header").css("color","red");//第二個h2
}
</script>
<style type="text/css">
</style>
</head>
<body>
<h2>我是正式標題</h2>
<h2 class="apple">簡單過濾選擇器</h2>
<ul class="apple">
<li>傳</li>
<li>智</li>
<li>播</li>
<li id="ke">客</li>
<li>教</li>
<li id="yu">育</li>
<li>集</li>
<li>團</li>
</ul>
<input type="button" value="觸發" onclick="f1()" />
</body>
~~~
### 4. 內容過濾器 Content Filters
| 名稱 | 說明 | 舉例 |
|-----|-----|-----|
| [:contains(text)](http://docs.jquery.com/Selectors/contains#text) | 匹配包含給定文本的元素 | 查找所有包含 "John" 的 div 元素:$("div:contains('John')") |
| [:empty](http://docs.jquery.com/Selectors/empty) | 匹配所有不包含子元素或者文本的空元素 | 查找所有不包含子元素或者文本的空元素:$("td:empty") |
| [:has(selector)](http://docs.jquery.com/Selectors/has#selector) | 匹配含有選擇器所匹配的元素的元素 | 給所有包含 p 元素的 div 元素添加一個 text 類: $("div:has(p)").addClass("test"); |
| [:parent](http://docs.jquery.com/Selectors/parent) | 匹配含有子元素或者文本的元素 | 查找所有含有子元素或者文本的 td 元素:$("td:parent") |
實例:?
**4.1 ? ?:contains(text)**
用法: $(”div:contains(’John’)”)
匹配包含給定文本的元素
~~~
<div>this is computer</div>
<div>I amJohn</div>
~~~
**4.2 ? ? :empty**
用法: $(”div:empty”)
匹配所有不包含子元素或者文本的空元素
~~~
<div>I am John</div>
<div></div>
<div><span></div>
<div> </div>
<div>bread</div>
~~~
**4.3 ? ? :has(selector)**
用法: $(”div:has(.milk)”)
匹配含有選擇器所匹配的元素的元素
~~~
<div></div>
<div><pclass=”milk”></div>
<div><spanclass=”milk”></div>
~~~
**4.4 ? ? :parent**
用法: $(”p:parent”)
匹配含有子元素或者文本的元素(元素必須有后代)
~~~
<p></p>
<p><span></p>
<p>hello</p>
<p>?? </p>
~~~
### 5.可見性過濾器??Visibility Filters
<table cellspacing="1" cellpadding="5" width="783" border="1" style="margin:0px 0px 0px 10px; padding:0px; width:650px; border:1px solid silver; border-collapse:collapse; word-break:break-word; color:rgb(51,51,51); font-family:verdana,Arial,Helvetica,sans-serif; font-size:14px; line-height:25.2000007629395px"><tbody style="margin:0px; padding:0px"><tr style="margin:0px; padding:0px"><td valign="top" width="233" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse"><span style="margin:0px; padding:0px; color:rgb(0,0,0)">名稱</span></td><td valign="top" width="235" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse"><span style="margin:0px; padding:0px; color:rgb(0,0,0)">說明</span></td><td valign="top" width="309" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse"><span style="margin:0px; padding:0px; color:rgb(0,0,0)">舉例</span></td></tr><tr style="margin:0px; padding:0px"><td valign="top" width="233" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse"><p style="margin:10px auto; padding-top:0px; padding-bottom:0px; padding-left:20px"><span style="margin:0px; padding:0px"><a target="_blank" href="http://docs.jquery.com/Selectors/hidden" style="margin:0px; padding:0px; text-decoration:none; color:rgb(0,0,0); border-bottom-width:1px; border-bottom-style:dotted; border-bottom-color:rgb(51,51,51)">:hidden</a></span></p></td><td valign="top" width="235" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse"><p style="margin:10px auto; padding-top:0px; padding-bottom:0px; padding-left:20px">匹配所有的不可見元素</p><p style="margin:10px auto; padding-top:0px; padding-bottom:0px; padding-left:20px">注:在1.3.2版本中, hidden匹配自身或者父類在文檔中不占用空間的元素.如果使用CSS visibility屬性讓其不顯示但是占位,則不輸入hidden.</p></td><td valign="top" width="309" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse">查找所有不可見的 tr 元素:$("tr:hidden")</td></tr><tr style="margin:0px; padding:0px"><td valign="top" width="233" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse"><span style="margin:0px; padding:0px"><a target="_blank" href="http://docs.jquery.com/Selectors/visible" style="margin:0px; padding:0px; text-decoration:none; color:rgb(0,0,0); border-bottom-width:1px; border-bottom-style:dotted; border-bottom-color:rgb(51,51,51)">:visible</a></span></td><td valign="top" width="235" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse">匹配所有的可見元素</td><td valign="top" width="309" style="margin:0px; padding:3px; border:1px solid silver; border-collapse:collapse">查找所有可見的 tr 元素:$("tr:visible")</td></tr></tbody></table>
元素是隱藏的:
display:none;?隱藏(不會占據物理空間)
< input type=”hidden”>隱藏域
visibility:hidden? 隱藏(要占據物理空間)
:hidden 獲得隱藏元素(display? input type=hidden)有兩種情況會起作用
:visible獲得可見元素
總結
????? 1.基本選擇(id??class?? tag標簽???sel1,sel2,sel3聯合???)
????? 2. 層次選擇器
????? 3. 簡單過濾選擇器(:first??:last?? :eq(下標)?? :gt()???:lt()??? :odd?? :even)
????? 4. 內容過濾選擇器(:contains?? :has?? :empty??:parent)
????? 5. 可見性過濾選擇器(:hidden? :visible)