JQuery-選取器整理

來源:互聯網
上載者:User

一、基本選取器

 1)ID選取器

 2)標籤選取器

 3 )  類別選取器

 4 ) 萬用字元選取器

二、層級選取器

 1 ) 包含選擇

 2 ) 子選取器  

 3 ) 相鄰選取器

 4 ) 兄弟選取器

三、簡單的偽類別選取器

1 ) 特定位置選取器

2 ) 指定範圍選取器 

3 ) 排除選取器

四、與內容相關的偽類別選取器

1 ) 匹配包含文本選取器

2)  匹配包含元素選取器

3 )  匹配包含判斷選取器

4 ) 解析內容過濾實現原理

五、與元素顯示狀態相關的偽類別選取器

六、匹配子項目的偽類別選取器

七、與表單對象相關的偽類別選取器

-------------------------------------------------------------------------------------------

一、基本選取器1、ID選取器,文法:jQuery("#id")
<script src="jQuery/jquery-1.6.4.js" type="text/javascript"></script><script type="text/javascript"> $(function(){   $("#div1").css("background","red"); })</script><title>上機練習</title></head><body><div id="div1">測試盒子</div></body></html>


2、標籤選取器,文法: jQuery("element") 注意:不需要附加首碼(#)
<script src="jQuery/jquery-1.6.4.js" type="text/javascript"></script><script type="text/javascript"> $(function(){   $("div").css("color","red"); })</script><title>無標題文檔</title></head><body> <div>div1</div><div>div2</div><div>div3</div></body></html>


3、類別選取器,文法:jQuery(".className")   className為字串,表示標籤的class屬性值,首碼符號“.”表示該選取器為類別選取器。返回值為包含匹配className元素的jQuery對象。
 
<script src="jQuery/jquery-1.6.4.js" type="text/javascript"></script><script type="text/javascript"> $(function(){   $(".red").css("color","red"); })</script><title>無標題文檔</title></head><body><div class="red">div1</div><div>div2</div><div class="red">div3</div></body></html>
4、萬用字元選取器,文法:jQuery("*")  參數“*”為字串,表示將匹配指定範圍內所有的標籤元素。
<script src="jQuery/jquery-1.6.4.js" type="text/javascript"></script><script type="text/javascript"> $(function(){   $("body *").css("color","red"); })</script><title>無標題文檔</title></head><body><div>DIV</div><span>SPAN</span><p>P</p></body></html>


二、層級選取器1、包含選取器,文法:jQuery("ancestor descendant")   其中,ancestor表示包含選取器,descendant表示被包含選取器。   jQuery能夠在ancestor選取器所匹配的元素中,過濾出匹配ancestor選取器的所有包含元素。eg:
<script src="jQuery/jquery-1.6.4.js" type="text/javascript"></script><script type="text/javascript"> $(function(){  $("form input").css({"border":"solid 1px red","background":"blue"}); })</script><title>無標題文檔</title></head><body>〈form> <fieldset>  <label>包含的子文字框     〈input/>  </label>  <fieldset>  <label>包含的孫子文字框     〈input />  </label>  </fieldset></fieldset></form><label>非包含的文字框     〈input />  </label></body></html>

2、子選取器,文法:jQuery("parent>child")     其中,parent表示父選取器,child表示被包含的子選取器,“>”為子選取器的標識符。jQuery能夠在parent選取器所匹配的元素中,過濾出所有匹配child選取器的子項目。eg:
<script src="jQuery/jquery-1.6.4.js" type="text/javascript"></script><script type="text/javascript"> $(function(){  $("div > img").css("border","solid 5px red"); })</script><title>無標題文檔</title></head><body><div> <span><img src="images/bg.jpg" /></span> <img src="images/bg.jpg" /></div><img src="images/bg.jpg" /></body></html>

3、相鄰選取器,文法:jQuery("prev+next")其中,prev表示相鄰的前一個選取器,next表示相鄰的後一個選取器,"+"為相鄰選取器的標識符。jQuery能夠在prev選取器所匹配的元素後,過濾出所有匹配next選取器的緊鄰同級元素。eg:
<script src="jQuery/jquery-1.6.4.js" type="text/javascript"></script><script type="text/javascript"> $(function(){  $("div + img").css("border","solid 5px red"); })</script><title>無標題文檔</title></head><body><div> <span><img src="images/bg.jpg" /></span> <img src="images/bg.jpg" /></div><img src="images/bg.jpg" /><img src="images/bg.jpg" /></body></html>

4、兄弟選取器,文法: jQuery("pre ~ siblings") 其中,prev表示相鄰的前一個選取器,siblings表示相鄰的同級選取器,“~”為兄弟選取器的標識符。jQuery能夠在prev選取器所匹配的元素後,過濾出所有匹配siblings選取器的同級元素/eg:
<script src="jQuery/jquery-1.6.4.js" type="text/javascript"></script><script type="text/javascript"> $(function(){  $("div ~ img").css("border","solid 5px red"); })</script><title>無標題文檔</title></head><body><div> <span><img src="images/bg.jpg" /></span> <img src="images/bg.jpg" /></div><img src="images/bg.jpg" /><img src="images/bg.jpg" /></body></html>

5、層級選取器綜合應用
三、簡單的偽類別選取器簡單的偽類別選取器也稱為定位過濾器,因為他們主要根據編號和排位篩選特定位置上的元素,或者過濾掉特定元素1、特定位置選取器主要包括  :first 、 :last和:qe(index)3 種。:first能夠在匹配的集合中選擇第1個元素,相反:last能夠在匹配的集合中選擇最後一個元素,而:eq(index)能夠根據index索引值確定指定位置的元素。具體使用者如下:jQuery("selector:first") jQuery("selector:last") jQuery("selector:eq(index)") ,index從0開始計數eg:
<script src="jQuery/jquery-1.6.4.js" type="text/javascript"></script><script type="text/javascript"> $(function(){  $("tr:first").css({"background":"blue","color":"white"});  $("tr:qe(1)").css("background","#F1F5FB");  $("tr:last").css("background","#ff9"); })</script><title>無標題文檔</title></head><body><table> <tr><th>選取器</th><th>說明</th></tr> <tr><td>:first</td><td>匹配找到的第1個元素。</td></tr> <tr><td>:last</td><td>匹配找到的最後一個元素。</td></tr></table></body></html>  

2、指定範圍選取器 主要包括 :even 、:odd 、 :gt(index)和:lt(index) 四種:even 匹配集合中選擇所有偶數行元素:odd  匹配集合中選擇所有級奇數行元素:gt(index) 匹配集合中選擇大於給定索引值的元素:lt(index)  匹配集合中選擇小於給定索引值的元素eg:
<script src="jQuery/jquery-1.6.4.js" type="text/javascript"></script><script type="text/javascript"> $(function(){  $("tr:even").css("background","#F1F5FB");  $("tr:odd").css("background","#ff9");  $("tr:first").css({"background":"blue","color":"white"}); })</script><title>無標題文檔</title></head><body><table> <tr><th>選取器</th><th>說明</th></tr> <tr><td>:first</td><td>匹配找到的第1個元素。</td></tr> <tr><td>:last</td><td>匹配找到的最後一個元素。</td></tr>  <tr><td>:first</td><td>匹配找到的第1個元素。</td></tr> <tr><td>:last</td><td>匹配找到的最後一個元素。</td></tr>  <tr><td>:first</td><td>匹配找到的第1個元素。</td></tr> <tr><td>:last</td><td>匹配找到的最後一個元素。</td></tr></table></body></html>

3、排除選取器文法:jQuery("selector1:not(selector2)");參數selector1、selector2和not為字串,其中,selector1和selector2表示任意形式的選取器,“:”為偽類別選取器的標識符,not表示排除函數標識符。eg:
<script src="jQuery/jquery-1.6.4.js" type="text/javascript"></script><script type="text/javascript"> $(function(){  $("tr:even").css("background","#F1F5FB");  $("tr:odd").css("background","#ff9");  $("tr:first").css({"background":"blue","color":"white"});  $("tr:not(tr:lt(3))").css({"background":"white","color":"black"}); })</script><title>無標題文檔</title></head><body><table> <tr><th>選取器</th><th>說明</th></tr> <tr><td>:first</td><td>匹配找到的第1個元素。</td></tr> <tr><td>:last</td><td>匹配找到的最後一個元素。</td></tr>  <tr><td>:first</td><td>匹配找到的第1個元素。</td></tr> <tr><td>:last</td><td>匹配找到的最後一個元素。</td></tr>  <tr><td>:first</td><td>匹配找到的第1個元素。</td></tr> <tr><td>:last</td><td>匹配找到的最後一個元素。</td></tr></table></body></html>

四、與內容相關的偽類別選取器:contains  -〉匹配包含給定文本的元素。例如,$("div:contains('圖片')")匹配所有包含“圖片”的div元素:empty -〉匹配所有不包含子項目或者文本的空元素。:has -〉匹配含有選取器所匹配的元素的元素。例如。$("div:has(p)") 匹配所有包含p元素的div元素1、匹配包含文本選取器    文法:jQuery("selector:contains(text)")
<script src="jQuery/jquery-1.6.4.js" type="text/javascript" ></script><script type="text/javascript"> $(  function(){    $("dd:contains('喬布斯')").css("text-decoration","underline");  } )</script><title>無標題文檔</title></head><body><h2>紀念喬布斯的評論</h2><dl> <dt>李德0202:</dt>  <dd>司法官神風怪盜法國分公司公司發的,國防生大哥,國防生的故事法國,國防生大哥</dd>  <dt>啊大法師反對法:</dt>  <dd>喬布斯走了,反對反對,放大發射點法,啊大法師法的放大三發,史蒂夫.喬布斯!1955-2011 永遠銘記在我們心裡!喬布斯,一路走好!</dd>  <dt>啊大法發射點發生的發</dt>  <dd>歌功頌德豐功碩德發個三的發個</dd></dl></body></html>

2、匹配包含元素選取器文法: jQuery("selector1:has(selector2)");3、匹配包含判斷選取器文法:jQuery("selector:empty");          jQuery("selector:parent");:empty匹配元素中包含空內容的元素:parent匹配元素中包含非空內容的元素4、解析內容過濾實現原理
五、與元素顯示狀態相關的偽類別選取器:hidden 匹配所有隱藏元素,或者type為hidden的元素:visible 匹配所有的可見元素
六、匹配子項目的偽類別選取器:nth-child   匹配其父元素下的第N個子或奇偶元素 :first-child  匹配第一個子項目。:first只匹配一個元素,而:first-child選取器將為每個父元素匹配一個子項目:last-child  匹配最後一個子項目。:last只匹配一個元素,而:last-child選取器將為每個父元素匹配一個子項目:only-child 如果某個元素是父元素中唯一的子項目,那將會被匹配;如果父元素中含有其他元素,那將不會被匹配
七、與表單對象相關的偽類別選取器:input 匹配所有input , textarea,select和button元素:text    匹配所以的單行文字框:password  匹配所有密碼框:radio 匹配所有單選框:checkbox 匹配所有複選框:submit 匹配所有提交按鈕:image 匹配所有映像域:reset 匹配所有重設按鈕:button 匹配所有按鈕:file 匹配所有檔案:hidden 匹配所有隱藏元素

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.