jQuery選擇器完整介紹

jQuery選擇器使得獲得頁面元素變得更加容易、更加靈活,從而大大減輕了開發人員的壓力。如同蓋樓一樣,沒有磚瓦,就蓋不起樓房。得不到元素談何其他各種操作呢?可見,jQuery選擇器的重要性。當然想一下子掌握所有選擇器也是很困難的,這個得靠實踐和積累。

現在我們正式進入jQuery選擇器的學習。我們將jQuery選擇器進行分類學習,將jQuery學習器分爲以下幾種:

1、基本選擇器

  • id                              根據元素ID選擇
  • elementname       根據元素名稱選擇
  • classname            根據元素css類名選擇

舉例:

<input type="text" id="ID" value="根據ID選擇" />
<a>根據元素名稱選擇</a>
<input type="text" class="classname" value="根據元素css類名選擇" />
jQuery("#ID").val();
jQuery("a").text();
jQuery(".classname").val();

即可分別得到元素的值。以上三種爲最常見的選擇器,其中ID選擇器是效率最高的,在可能的情況下應該儘量使用它。

2、層次選擇器

  • ancestor descendant  祖先和子孫選擇器
  • parent > child           父子節點選擇器
  • prev + next                同級別選擇器
  • prev ~ siblings         過濾選擇器

舉例:

<div id="divTest">
        <input type="text" value="投資" />
        <input id="next" type="text" />
        <input type="text"  value="擔當" />
        <input type="text" title="學習" value="學習" />
        <a>1</a>
        <a>2</a>
</div>
//得到div中的a標籤內容 結果爲12
jQuery("#divTest a").text();
//輸出div直接子節點 結果爲投資
jQuery("#divTest>input").val();
//輸出id爲next的後一個同級別元素 結果爲擔當
jQuery("#next+input").val();
//同上,並且是有title的元素 結果爲學習
jQuery("#next~[title]").val();

3、基本過濾選擇器

  • :first                       找到第一元素
  • :last                       找到最後一個元素
  • :not(selector)      去除與給定選擇器匹配的元素
  • :even                     匹配索引值爲偶數的元素 從0開始計數
  • :odd                       匹配索引值爲奇數的元素 從0開始計數
  • :eq(index)             匹配一個給定索引值元素 從0開始
  • :gt(index)              匹配大於給定索引值元素
  • :lt(index)               匹配小於給定索引值元素
  • :header                 選擇h1,h2,h3一類的標籤 (目前沒用過)
  • :animated             匹配正執行動畫效果的元素 (目前沒用過)

舉例:

<div id="divTest">
    <ul>
        <li>投資</li>
        <li>理財</li>
        <li>成熟</li>
        <li>擔當</li>
        <input type="radio" value="學習" checked="checked" />
        <input type="radio" value="不學習" />
    </ul>
</div>
//第一個li內容 結果爲投資
jQuery("li:first").text();
//最後一個li內容 結果爲擔當
jQuery("li:last").text();
//input未被選中的值 結果爲不學習
jQuery("li input:not(:checked)").val();
//索引爲偶數的li 結果爲投資 成熟
jQuery("li:even").text();
//索引爲奇數的li 結果爲理財 擔當
jQuery("li:odd").text();
//索引大於2的li的內容 結果爲擔當
jQuery("li:gt(2)").text();
//索引小於1的li的內容 結果爲投資
jQuery("li:lt(1)").text();

4、內容過濾器

  • :contains(text)              匹配包含給定文本的元素
  • :empty                        匹配所有不包含子元素或者文本的空元素
  • :has(selector)              匹配含有選擇器所匹配的元素

舉例:

<div id="Test">
    <ul>
        <li>hyip投資</li>
        <li>hyip</li>
        <li></li>
        <li>理財</li>
        <li><a>投資</a></li>
    </ul>
</div>   
//包含hyip的li的內容 結果爲hyip投資 hyip
jQuery("li:contains('hyip')").text();
//內容爲空的li的後一個li內容 結果爲理財
jQuery("li:empty+li").text();
//包含a標籤的li的內容 結果爲投資
jQuery("li:has(a)").text();

5、可見性過濾器

  • :hidden    匹配不可見元素
  • :visible     匹配可見元素

舉例:

<ul>
    <li>可見</li>
    <li style="display:none;">不可見</li>
</ul>
//不可見的li的內容 結果爲不可見
jQuery("li:hidden").text();
//可見的li的內容 結果爲可見
jQuery("li:visible").text();

6、屬性過濾器

  • [attribute=value]                 匹配屬性是給定值的元素
  • [attribute^=value]               匹配屬性是以給定值開始的元素
  • [attribute$=value]              匹配屬性是以給定值結束的元素
  • [attribute*=value]               匹配屬性包含給定值的元素

舉例:

<input type="text" name="hyipinvest" value="hyip投資" />
<input type="text" name="investhyip" value="投資hyip" />
<input type="text" name="google" value="HYIP" />
//name爲hyipinvest的值 結果爲hyip投資
alert(jQuery("input[name='hyipinvest']").val());
//name以hyip開始的值 結果爲hyip投資
alert(jQuery("input[name^='hyip']").val());
//name以hyip結束的值 結果爲投資hyip
alert(jQuery("input[name$='hyip']").val());
//name包含oo的值 結果爲HYIP
alert(jQuery("input[name*='oo']").val());

jQuery選擇器就總結到這裏,這些基本上都是在學習過程中遇到的,還有極少部分沒有總結出來。經過一段時間實踐,相信大家就能夠熟練的使用jQuery選擇器了。


發佈了40 篇原創文章 · 獲贊 4 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章