jQuery層級(jí)選擇器_動(dòng)力節(jié)點(diǎn)節(jié)點(diǎn)Java學(xué)院整理
因?yàn)镈OM的結(jié)構(gòu)就是層級(jí)結(jié)構(gòu),所以我們經(jīng)常要根據(jù)層級(jí)關(guān)系進(jìn)行選擇。
層級(jí)選擇器(Descendant Selector)
如果兩個(gè)DOM元素具有層級(jí)關(guān)系,就可以用$('ancestor descendant')來(lái)選擇,層級(jí)之間用空格隔開(kāi)。例如:
<!-- HTML結(jié)構(gòu) -->
<div class="testing">
<ul class="lang">
<li class="lang-javascript">JavaScript</li>
<li class="lang-python">Python</li>
<li class="lang-lua">Lua</li>
</ul>
</div>
要選出JavaScript,可以用層級(jí)選擇器:
$('ul.lang li.lang-javascript'); // [<li class="lang-javascript">JavaScript</li>]
$('div.testing li.lang-javascript'); // [<li class="lang-javascript">JavaScript</li>]
因?yàn)?span style="color: #800000"><div>和<ul>都是<li>的祖先節(jié)點(diǎn),所以上面兩種方式都可以選出相應(yīng)的<li>節(jié)點(diǎn)。
要選擇所有的<li>節(jié)點(diǎn),用:
$('ul.lang li');
這種層級(jí)選擇器相比單個(gè)的選擇器好處在于,它縮小了選擇范圍,因?yàn)槭紫纫ㄎ桓腹?jié)點(diǎn),才能選擇相應(yīng)的子節(jié)點(diǎn),這樣避免了頁(yè)面其他不相關(guān)的元素。
例如:
$('form[name=upload] input');
就把選擇范圍限定在name屬性為upload的表單里。如果頁(yè)面有很多表單,其他表單的<input>不會(huì)被選擇。
多層選擇也是允許的:
$('form.test p input'); // 在form表單選擇被<p>包含的<input>
子選擇器(Child Selector)
子選擇器$('parent>child')類(lèi)似層級(jí)選擇器,但是限定了層級(jí)關(guān)系必須是父子關(guān)系,就是<child>節(jié)點(diǎn)必須是<parent>節(jié)點(diǎn)的直屬子節(jié)點(diǎn)。還是以上面的例子:
$('ul.lang>li.lang-javascript'); // 可以選出[<li class="lang-javascript">JavaScript</li>]
$('div.testing>li.lang-javascript'); // [], 無(wú)法選出,因?yàn)?lt;div>和<li>不構(gòu)成父子關(guān)系
過(guò)濾器(Filter)
過(guò)濾器一般不單獨(dú)使用,它通常附加在選擇器上,幫助我們更精確地定位元素。觀察過(guò)濾器的效果:
$('ul.lang li'); // 選出JavaScript、Python和Lua 3個(gè)節(jié)點(diǎn)
$('ul.lang li:first-child'); // 僅選出JavaScript
$('ul.lang li:last-child'); // 僅選出Lua
$('ul.lang li:nth-child(2)'); // 選出第N個(gè)元素,N從1開(kāi)始
$('ul.lang li:nth-child(even)'); // 選出序號(hào)為偶數(shù)的元素
$('ul.lang li:nth-child(odd)'); // 選出序號(hào)為奇數(shù)的元素
表單相關(guān)
針對(duì)表單元素,jQuery還有一組特殊的選擇器:
:input:可以選擇<input>,<textarea>,<select>和<button>;
:file:可以選擇<input type="file">,和input[type=file]一樣;
:checkbox:可以選擇復(fù)選框,和input[type=checkbox]一樣;
:radio:可以選擇單選框,和input[type=radio]一樣;
:focus:可以選擇當(dāng)前輸入焦點(diǎn)的元素,例如把光標(biāo)放到一個(gè)<input>上,用$('input:focus')就可以選出;
:checked:選擇當(dāng)前勾上的單選框和復(fù)選框,用這個(gè)選擇器可以立刻獲得用戶選擇的項(xiàng)目,如$('input[type=radio]:checked');
:enabled:可以選擇可以正常輸入的<input>、<select> 等,也就是沒(méi)有灰掉的輸入;
:disabled:和:enabled正好相反,選擇那些不能輸入的。
此外,jQuery還有很多有用的選擇器,例如,選出可見(jiàn)的或隱藏的元素:
$('div:visible'); // 所有可見(jiàn)的div
$('div:hidden'); // 所有隱藏的div
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
jquery控制左右箭頭滾動(dòng)圖片列表的實(shí)例
jquery控制左右箭頭滾動(dòng)圖片列表的實(shí)例,需要的朋友可以參考一下2013-05-05
jQuery實(shí)現(xiàn)鍵盤(pán)回車(chē)搜索功能
本文通過(guò)代碼給大家介紹了jquery實(shí)現(xiàn)鍵盤(pán)回車(chē)搜索功能,前臺(tái)代碼和搜索按鈕實(shí)現(xiàn)代碼都給大家貼出了,需要的朋友參考下吧2017-07-07
JQuery查找子元素find()和遍歷集合each的方法總結(jié)
下面小編就為大家?guī)?lái)一篇JQuery查找子元素find()和遍歷集合each的方法總結(jié)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-03-03
從零開(kāi)始學(xué)習(xí)jQuery (十) jQueryUI常用功能實(shí)戰(zhàn)
本文是實(shí)戰(zhàn)篇. 使用jQueryUI完成制作網(wǎng)站的大部分常用功能.2011-02-02
JQuery手速測(cè)試小游戲?qū)崿F(xiàn)思路詳解
這篇文章主要介紹了JQuery手速測(cè)試小游戲?qū)崿F(xiàn)思路詳解,本文給大家介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-09-09
jQuery 下拉列表 二級(jí)聯(lián)動(dòng)插件分享
jQuery二級(jí)聯(lián)動(dòng)插件:jQuery.selected 一個(gè)頁(yè)面可以引用多個(gè)聯(lián)動(dòng)效果2012-03-03
動(dòng)感效果的TAB選項(xiàng)卡jquery 插件
動(dòng)感效果的TAB選項(xiàng)卡jquery 插件,需要的朋友可以參考下。2011-07-07
使用jQuery簡(jiǎn)單實(shí)現(xiàn)模擬瀏覽器搜索功能
這篇文章主要介紹了使用jQuery簡(jiǎn)單實(shí)現(xiàn)模擬瀏覽器搜索功能,需要的朋友可以參考下2014-12-12

