通過children
成都創(chuàng)新互聯(lián)10多年成都定制網(wǎng)站服務(wù);為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計(jì)及高端網(wǎng)站定制服務(wù),成都定制網(wǎng)站及推廣,對會所設(shè)計(jì)等多個(gè)行業(yè)擁有豐富建站經(jīng)驗(yàn)的網(wǎng)站建設(shè)公司。
children("input:first-child")
$(this).children("input:first-child").val();
$(this).children("input:last-child").val();
通過選擇器,$(".itemsinput:first")
1. 通過位置選擇的操作:
:first:默認(rèn)情況下是相對整個(gè)頁面來說的第一個(gè),如:li:first表示整個(gè)頁面的第一個(gè)li元素,而ul li:first表示整個(gè)頁面的第一個(gè)li元素,并且是在ul下的子元素;
:first- child:為每個(gè)父元素匹配第一個(gè)子元素,如li:first-child返回每個(gè)ul的第一個(gè)li元素??梢赃@樣理解,頁面中的元素有相同的父元素 的,并且里面又包含li元素的,那么就取第一個(gè)li元素,每個(gè)子類集合都要進(jìn)行判斷,直到找出所有符合要求的li元素;
:only- child:返回所有沒有兄弟節(jié)點(diǎn)的元素,注意,文本元素不是,也就是說類似這樣的divhelloa href=""jquery/a/div,對于這段會選出a元素;對 于$(”label:only-child“)會選出是label元素,同時(shí)它是它父類唯一的子元素的label元素;
:nth-child(n):返回第n個(gè)子節(jié)點(diǎn),n從1開始,如果n取0,那么就會選擇所有的元素。如:[*]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:頁面范圍內(nèi)的處于偶數(shù)位置的元素,如:li:even返回全部偶數(shù)li元素;
:odd:頁面范圍內(nèi)的處于奇數(shù)位置的元素;
:eq(n):第n個(gè)匹配的元素(n從0開始),如:li:eq(3)返回整個(gè)頁面的第四個(gè)li元素,ul li:eq(1)返回頁面中第一個(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)簽名:比如說$(”a“)會選出所有鏈接元素;
#id:通過元素id進(jìn)行選擇,比如說$("#form1")會選擇id為form1的元素;
.class:通過元素的CSS類來選擇,比如說$(".boldstyle")會選擇CSS為boldstyle類的元素;
標(biāo)簽 名#id.class:通過某類元素的id屬性和class屬性來選擇,如:$(a#blog.boldStyle)會選擇id為blog并且CSS類型 為.boldStyle類型的鏈接元素(a id='blog' class='.boldStyle');
父標(biāo)簽名 子標(biāo)簽名.class:通過選擇父標(biāo)簽下的某種CSS類型的子元素,如:$(p a.redStyle)會選擇p段落元素中的鏈接子元素a,且其css類型為.redStyle;
3. 通過子選擇器,容器選擇器和屬性選擇器進(jìn)行選擇:
*:匹配所有的元素,比如說:$(*)會把頁面中的所有元素都返回;
E:匹配標(biāo)簽名為E的所有元素,如$("a")返回所有鏈接元素;
E F:匹配父元素E下的標(biāo)簽名為F的所有子元素(F可以為E的子類的子類,甚至更遠(yuǎn));
EF:匹配父元素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)前處于動態(tài)控制下的元素;
:contains(hello):選擇包含文本hello的元素;
:header:選擇標(biāo)題元素,如h1;
:parent:選擇擁有后代節(jié)點(diǎn)(包括文本)的元素,而排除空元素;
:selected:選擇已選中的選項(xiàng)元素;
:visible:選擇可見元素;
不可以,:first只選擇第一個(gè)元素的。想指定選擇哪個(gè)的話可以用:eq,:eq從 0 開始計(jì)數(shù)的,即第一個(gè)元素對應(yīng)的位置是0,依次下去。
樓上的解答是對的,另外我補(bǔ)充下,在Jquery里, 冒號后面是跟選擇器,即你想要選哪個(gè)元素,比如p:first 就是第一個(gè)P元素,P:last就是最后一個(gè)P元素(相對于整個(gè)頁面)。想選第三個(gè)咋辦?用:eq(2)
而.后面是跟方法的,其實(shí).first 和 :first在用法上是一樣的,但對返回的對相和速度應(yīng)該不同(PS:我沒做過實(shí)驗(yàn)無法給出正確的數(shù)據(jù),這年頭幾微秒和幾bit的差別你就無視吧)
最后對你的問題補(bǔ)充回答:沒有這種情況,任何情況是只能用一種的。如果你有空看下JQUERY的核心代碼吧,.first和:first用的原理是一樣的
:first-child指每個(gè)匹配元素的第一個(gè),會有許多個(gè)。:first指匹配元素的第一個(gè),只有一個(gè),后面匹配的不要啦。
first是指長兄,也就是同輩中最大的那個(gè)(或者說第一個(gè));
而first-child是指自己的大兒子,也就是下一輩中最大的那個(gè)(或者說第一個(gè))。
我給你打個(gè)比方來說吧~
ul
liTest1li
liaaaaali
libbbbbli
/ul
ul
liTest2li
licccccli
lidddddli
/ul
用first-child可以取出每一個(gè)ul之中的li元素,用first就不行。明白?
//print Test1 Test2