posts - 15,comments - 65,trackbacks - 0
                  本文最初發(fā)表于本人個(gè)人博客http://www.lovestblog.cn/,歡迎大家光臨 。(轉(zhuǎn)載的請(qǐng)不要?jiǎng)h除該行,謝謝合作)
                  jQuery選擇器其實(shí)是一個(gè)有些地方比較費(fèi)解的,如果沒(méi)有經(jīng)過(guò)多次實(shí)驗(yàn)的話,很難得出它的每個(gè)操作符到底是干什么的,很容易出錯(cuò),經(jīng)過(guò)我的多次測(cè)試,終于對(duì)一些比較難理解或容易出錯(cuò)的選擇操作進(jìn)行總結(jié),既方便自己將來(lái)查詢又方便初學(xué)者學(xué)習(xí)。如果哪里有不對(duì)的還望大家?guī)臀抑赋鰜?lái),這里是一個(gè)相互學(xué)習(xí)的地方。 

               1. 先說(shuō)說(shuō)通過(guò)位置選擇的幾個(gè)操作: 
          • :first:默認(rèn)情況下是相對(duì)整個(gè)頁(yè)面來(lái)說(shuō)的第一個(gè),如:li:first表示整個(gè)頁(yè)面的第一個(gè)li元素,而ul li:first表示整個(gè)頁(yè)面的第一個(gè)li元素,并且是在ul下的子元素;
          • :last:同上了,只是是最后一個(gè)而已;
          • :first-child:為每個(gè)父元素匹配第一個(gè)子元素,如li:first-child返回每個(gè)ul的第一個(gè)li元素??梢赃@樣理解,頁(yè)面中的元素有相同的父元素的,并且里面又包含li元素的,那么就取第一個(gè)li元素,每個(gè)子類集合都要進(jìn)行判斷,直到找出所有符合要求的li元素;
          • :last-child:這個(gè)也與上面相對(duì)了,只是取的是最后一個(gè);
          • :only-child:返回所有沒(méi)有兄弟節(jié)點(diǎn)的元素,注意,文本元素不是,也就是說(shuō)類似這樣的<div>hello<a href="">jquery</a></div>,對(duì)于這段會(huì)選出<a>元素;對(duì)于$(”label:only-child“)會(huì)選出是label元素,同時(shí)它是它父類唯一的子元素的label元素;
          • :nth-child(n):返回第n個(gè)子節(jié)點(diǎn),n從1開始,如果n取0,那么就會(huì)選擇所有的元素。如:[*]li:nth-child(2)返回li元素,并且該元素是其父元素的第二個(gè)子元素;
          • :nth-child(even|odd):返回偶數(shù)或奇數(shù)的子節(jié)點(diǎn);
          • :nth-child(An+B):返回滿足表達(dá)式An+B的所有子節(jié)點(diǎn),比如3n+1返回所處位置為父節(jié)點(diǎn)子元素的是3的倍數(shù)加1的那個(gè)子元素;
          • :even:頁(yè)面范圍內(nèi)的處于偶數(shù)位置的元素,如:li:even返回全部偶數(shù)li元素;
          • :odd:頁(yè)面范圍內(nèi)的處于奇數(shù)位置的元素;
          • :eq(n):第n個(gè)匹配的元素(n從0開始),如:li:eq(3)返回整個(gè)頁(yè)面的第四個(gè)li元素,ul li:eq(1)返回頁(yè)面中第一個(gè)ul元素下的第二個(gè)li元素,注意:只匹配一次就返回了;
          • :gt(n):第n個(gè)匹配元素(不包括)之后的元素(n從0開始),如:ul:gt(2)返回從第3個(gè)ul開始的所有ul元素(含第三個(gè));
          • :lt(n):第n個(gè)匹配元素(不包括)之前的元素(n從0開始),如:ul:lt(2)返回從第0個(gè)和第1個(gè)ul元素;
              2. 利用css選擇器進(jìn)行選擇: 
          • 元素標(biāo)簽名:比如說(shuō)$(”a“)會(huì)選出所有鏈接元素;
          • #id:通過(guò)元素id進(jìn)行選擇,比如說(shuō)$("#form1")會(huì)選擇id為form1的元素;
          • .class:通過(guò)元素的CSS類來(lái)選擇,比如說(shuō)$(".boldstyle")會(huì)選擇CSS為boldstyle類的元素;
          • 標(biāo)簽名#id.class:通過(guò)某類元素的id屬性和class屬性來(lái)選擇,如:$(a#blog.boldStyle)會(huì)選擇id為blog并且CSS類型為.boldStyle類型的鏈接元素(<a id='blog' class='.boldStyle'>);
          • 父標(biāo)簽名 子標(biāo)簽名.class:通過(guò)選擇父標(biāo)簽下的某種CSS類型的子元素,如:$(p a.redStyle)會(huì)選擇p段落元素中的鏈接子元素a,且其css類型為.redStyle;
               3. 通過(guò)子選擇器,容器選擇器和屬性選擇器進(jìn)行選擇: 
          • *:匹配所有的元素,比如說(shuō):$(*)會(huì)把頁(yè)面中的所有元素都返回;
          • E:匹配標(biāo)簽名為E的所有元素,如$("a")返回所有鏈接元素;
          • E F:匹配父元素E下的標(biāo)簽名為F的所有子元素(F可以為E的子類的子類,甚至更遠(yuǎn));
          • E>F:匹配父元素E下的所有標(biāo)簽名為F的直接子元素;
          • E+F:匹配所有標(biāo)簽名為F的元素,并且有E類型的兄弟節(jié)點(diǎn)在該F元素之前(E,F緊挨著);
          • E~F:匹配前面是任何兄弟節(jié)點(diǎn)E的所有元素F(E,F不必緊挨著);
          • E:has(F):匹配標(biāo)簽名為E,至少有一個(gè)標(biāo)簽名為F的后代節(jié)點(diǎn)的所有元素E;
          • E.C:匹配帶有類名C的所有元素E。.C等效于*.C;
          • E#I:匹配id為I的所有元素E,#I等效于*#I;
          • E[A]:匹配帶有屬性A的所有元素E;
          • E[A=V]:匹配所有屬性A的值為V的元素E;
          • E[A^=V]:匹配所有元素E,且A的屬性值是V開頭的;
          • E[A$=V]:匹配所有元素E,且A的屬性值是V結(jié)尾的;
          • E[A*=V]:匹配所有元素E,且A的屬性值中包含有V;
               4.利用jQuery自定義的選擇器進(jìn)行選擇: 
          • :button:選擇任何按鈕類型的元素,包括input[type=submit]等等;
          • :checkbox:選擇復(fù)選框元素;
          • :file:選擇所有文件類型元素,即input[type=file];
          • :image:選擇表單中的圖像元素,即input[type=image],注意此處和前面根據(jù)標(biāo)簽名img選擇圖像有點(diǎn)不同哈;
          • :input:選擇表單元素,如<input>,<select>,<textarea>,<button>等;
          • :radio:選擇單選按鈕元素;
          • :reset:選擇復(fù)位按鈕元素,如input[type=reset],button[type=reset];
          • :submit:選擇提交按鈕元素;
          • :text:選擇文本字段元素,即input[type=text];
          • :animated:選擇當(dāng)前處于動(dòng)態(tài)控制下的元素;
          • :contains(hello):選擇包含文本hello的元素;
          • :header:選擇標(biāo)題元素,如<h1>;
          • :parent:選擇擁有后代節(jié)點(diǎn)(包括文本)的元素,而排除空元素;
          • :selected:選擇已選中的選項(xiàng)元素;
          • :visible:選擇可見元素;
          • :enable:選擇界面上已經(jīng)可以使用的表單元素;
          • :disabled:選擇界面上被禁用的表單元素;
          • :checked:選擇已選中的復(fù)選框或單選按鈕;
             主要還是要多練習(xí),多寫點(diǎn)例子熟悉下,東西其實(shí)也不是很多哈,希望能給大家?guī)?lái)幫助;
          posted on 2009-04-21 12:17 你假笨 閱讀(5311) 評(píng)論(1)  編輯  收藏

          FeedBack:
          # re: jQuery選擇器選擇dom元素[未登錄](méi)
          2010-06-04 18:59 | lee
          好文章.  回復(fù)  更多評(píng)論
            

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 泸水县| 土默特右旗| 竹山县| 山西省| 西宁市| 孝感市| 布尔津县| 北安市| 岗巴县| 湟中县| 青浦区| 林西县| 五原县| 兰坪| 龙陵县| 团风县| 老河口市| 武义县| 波密县| 郸城县| 巴林右旗| 密云县| 隆回县| 河西区| 靖西县| 朝阳市| 吴川市| 辛集市| 衢州市| 民县| 青海省| 许昌县| 通道| 和林格尔县| 炎陵县| 弥勒县| 玉树县| 津南区| 霍城县| 手机| 松原市|