jQuery學(xué)習(xí)大總結(jié)(二)jQuery選擇器完整介紹
上次主要總結(jié)了下jQuery對(duì)象與dom對(duì)象的相互轉(zhuǎn)換,今天我們看看jQuery選擇器。
jQuery選擇器使得獲得頁(yè)面元素變得更加容易、更加靈活,從而大大減輕了開(kāi)發(fā)人員的壓力。如同蓋樓一樣,沒(méi)有磚瓦,就蓋不起樓房。得不到元素談何其他各種操作呢?可見(jiàn),jQuery選擇器的重要性。當(dāng)然想一下子掌握所有選擇器也是很困難的,這個(gè)得靠實(shí)踐和積累。
現(xiàn)在我們正式進(jìn)入jQuery選擇器的學(xué)習(xí)。我們將jQuery選擇器進(jìn)行分類(lèi)學(xué)習(xí),將jQuery選擇器分為以下幾種:
1、基本選擇器
- id 根據(jù)元素ID選擇
 - elementname 根據(jù)元素名稱(chēng)選擇
 - classname 根據(jù)元素css類(lèi)名選擇
 
舉例:
- <input type="text" id="ID" value="根據(jù)ID選擇" />
 - <a>根據(jù)元素名稱(chēng)選擇</a>
 - <input type="text" class="classname" value="根據(jù)元素css類(lèi)名選擇" />
 
- jQuery("#ID").val();
 - jQuery("a").text();
 - jQuery(".classname").val();
 
即可分別得到元素的值。以上三種為最常見(jiàn)的選擇器,其中ID選擇器是效率***的,在可能的情況下應(yīng)該盡量使用它。
2、層次選擇器
- ancestor descendant 祖先和子孫選擇器
 - parent > child 父子節(jié)點(diǎn)選擇器
 - prev + next 同級(jí)別選擇器
 - prev ~ siblings 過(guò)濾選擇器
 
舉例:
- <div id="divTest">
 - <input type="text" value="投資" />
 - <input id="next" type="text" />
 - <input type="text" value="擔(dān)當(dāng)" />
 - <input type="text" title="學(xué)習(xí)" value="學(xué)習(xí)" />
 - <a>1</a>
 - <a>2</a>
 - </div>
 
- //得到div中的a標(biāo)簽內(nèi)容 結(jié)果為12
 - jQuery("#divTest a").text();
 - //輸出div直接子節(jié)點(diǎn) 結(jié)果為投資
 - jQuery("#divTest>input").val();
 - //輸出id為next的后一個(gè)同級(jí)別元素 結(jié)果為擔(dān)當(dāng)
 - jQuery("#next+input").val();
 - //同上,并且是有title的元素 結(jié)果為學(xué)習(xí)
 - jQuery("#next~[title]").val();
 
基本過(guò)濾選擇器
- :first 找到***元素
 - :last 找到***一個(gè)元素
 - :not(selector) 去除與給定選擇器匹配的元素
 - :even 匹配索引值為偶數(shù)的元素 從0開(kāi)始計(jì)數(shù)
 - :odd 匹配索引值為奇數(shù)的元素 從0開(kāi)始計(jì)數(shù)
 - :eq(index) 匹配一個(gè)給定索引值元素 從0開(kāi)始
 - :gt(index) 匹配大于給定索引值元素
 - :lt(index) 匹配小于給定索引值元素
 - :header 選擇h1,h2,h3一類(lèi)的標(biāo)簽 (目前沒(méi)用過(guò))
 - :animated 匹配正執(zhí)行動(dòng)畫(huà)效果的元素 (目前沒(méi)用過(guò))
 
舉例:
- <div id="divTest">
 - <ul>
 - <li>投資</li>
 - <li>理財(cái)</li>
 - <li>成熟</li>
 - <li>擔(dān)當(dāng)</li>
 - <input type="radio" value="學(xué)習(xí)" checked="checked" />
 - <input type="radio" value="不學(xué)習(xí)" />
 - </ul>
 - </div>
 
- //***個(gè)li內(nèi)容 結(jié)果為投資
 - jQuery("li:first").text();
 - //***一個(gè)li內(nèi)容 結(jié)果為擔(dān)當(dāng)
 - jQuery("li:last").text();
 - //input未被選中的值 結(jié)果為不學(xué)習(xí)
 - jQuery("li input:not(:checked)").val();
 - //索引為偶數(shù)的li 結(jié)果為投資 成熟
 - jQuery("li:even").text();
 - //索引為奇數(shù)的li 結(jié)果為理財(cái) 擔(dān)當(dāng)
 - jQuery("li:odd").text();
 - //索引大于2的li的內(nèi)容 結(jié)果為擔(dān)當(dāng)
 - jQuery("li:gt(2)").text();
 - //索引小于1的li的內(nèi)容 結(jié)果為投資
 - jQuery("li:lt(1)").text();
 
4、內(nèi)容過(guò)濾器
- :contains(text) 匹配包含給定文本的元素
 - :empty 匹配所有不包含子元素或者文本的空元素
 - :has(selector) 匹配含有選擇器所匹配的元素
 
舉例:
- <div id="Test">
 - <ul>
 - <li>hyip投資</li>
 - <li>hyip</li>
 - <li></li>
 - <li>理財(cái)</li>
 - <li><a>投資</a></li>
 - </ul>
 - </div>
 
- //包含hyip的li的內(nèi)容 結(jié)果為hyip投資 hyip
 - jQuery("li:contains('hyip')").text();
 - //內(nèi)容為空的li的后一個(gè)li內(nèi)容 結(jié)果為理財(cái)
 - jQuery("li:empty+li").text();
 - //包含a標(biāo)簽的li的內(nèi)容 結(jié)果為投資
 - jQuery("li:has(a)").text();
 
5、可見(jiàn)性過(guò)濾器
- :hidden 匹配不可見(jiàn)元素
 - :visible 匹配可見(jiàn)元素
 
舉例:
- <ul>
 - <li>可見(jiàn)</li>
 - <li style="display:none;">不可見(jiàn)</li>
 - </ul>
 
- //不可見(jiàn)的li的內(nèi)容 結(jié)果為不可見(jiàn)
 - jQuery("li:hidden").text();
 - //可見(jiàn)的li的內(nèi)容 結(jié)果為可見(jiàn)
 - jQuery("li:visible").text();
 
6、屬性過(guò)濾器
- [attribute=value] 匹配屬性是給定值的元素
 - [attribute^=value] 匹配屬性是以給定值開(kāi)始的元素
 - [attribute$=value] 匹配屬性是以給定值結(jié)束的元素
 - [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的值 結(jié)果為hyip投資
 - alert(jQuery("input[name='hyipinvest']").val());
 - //name以hyip開(kāi)始的值 結(jié)果為hyip投資
 - alert(jQuery("input[name^='hyip']").val());
 - //name以hyip結(jié)束的值 結(jié)果為投資hyip
 - alert(jQuery("input[name$='hyip']").val());
 - //name包含oo的值 結(jié)果為HYIP
 - alert(jQuery("input[name*='oo']").val());
 
jQuery選擇器就總結(jié)到這里,這些基本上都是在學(xué)習(xí)過(guò)程中遇到的,還有極少部分沒(méi)有總結(jié)出來(lái)。經(jīng)過(guò)一段時(shí)間實(shí)踐,相信大家就能夠熟練的使用jQuery選擇器了。















 
 
 
 
 
 
 