jquery如何獲取第一個或最後一個子元素?

singer-coder發表於2018-03-28

通過children方法,children("input:first-child")

$(this).children("input:first-child").val();
$(this).children("input:last-child").val();

通過>選擇器,$(".items>input:first")

在這裡轉一篇《jQuery選擇元素的方法大全》

1. 先說說通過位置選擇的幾個操作:
:first:預設情況下是相對整個頁面來說的第一個,如:li:first表示整個頁面的第一個li元素,而ul li:first表示整個頁面的第一個li元素,並且是在ul下的子元素;
:last:同上了,只是是最後一個而已;
:first- child:為每個父元素匹配第一個子元素,如li:first-child返回每個ul的第一個li元素。可以這樣理解,頁面中的元素有相同的父元素 的,並且裡面又包含li元素的,那麼就取第一個li元素,每個子類集合都要進行判斷,直到找出所有符合要求的li元素;
:last-child:這個也與上面相對了,只是取的是最後一個;
:
only- child:返回所有沒有兄弟節點的元素,注意,文字元素不是,也就是說類似這樣的<div>hello<a href="">jquery</a></div>,對於這段會選出<a>元素;對 於$(”label:only-child“)會選出是label元素,同時它是它父類唯一的子元素的label元素;
:nth-child(n):返回第n個子節點,n從1開始,如果n取0,那麼就會選擇所有的元素。如:[*]li:nth-child(2)返回li元素,並且該元素是其父元素的第二個子元素;
:nth-child(even|odd):返回偶數或奇數的子節點;
:nth-child(An+B):返回滿足表示式An+B的所有子節點,比如3n+1返回所處位置為父節點子元素的是3的倍數加1的那個子元素;
:even:頁面範圍內的處於偶數位置的元素,如:li:even返回全部偶數li元素;
:odd:頁面範圍內的處於奇數位置的元素;
:eq(n):第n個匹配的元素(n從0開始),如:li:eq(3)返回整個頁面的第四個li元素,ul li:eq(1)返回頁面中第一個ul元素下的第二個li元素,注意:只匹配一次就返回了;
:gt(n):第n個匹配元素(不包括)之後的元素(n從0開始),如:ul:gt(2)返回從第3個ul開始的所有ul元素(含第三個);
:lt(n):第n個匹配元素(不包括)之前的元素(n從0開始),如:ul:lt(2)返回從第0個和第1個ul元素;


2. 利用css選擇器進行選擇:
元素標籤名:比如說$(”a“)會選出所有連結元素;
#id:通過元素id進行選擇,比如說$("#form1")會選擇id為form1的元素;
.class:通過元素的CSS類來選擇,比如說$(".boldstyle")會選擇CSS為boldstyle類的元素;
標籤 名#id.class:通過某類元素的id屬性和class屬性來選擇,如:$(a#blog.boldStyle)會選擇id為blog並且CSS型別 為.boldStyle型別的連結元素(<a id='blog' class='.boldStyle'>);
父標籤名 子標籤名.class:通過選擇父標籤下的某種CSS型別的子元素,如:$(p a.redStyle)會選擇p段落元素中的連結子元素a,且其css型別為.redStyle;


3. 通過子選擇器,容器選擇器和屬性選擇器進行選擇:
*:匹配所有的元素,比如說:$(*)會把頁面中的所有元素都返回;
E:匹配標籤名為E的所有元素,如$("a")返回所有連結元素;
E F:匹配父元素E下的標籤名為F的所有子元素(F可以為E的子類的子類,甚至更遠);
E>F:匹配父元素E下的所有標籤名為F的直接子元素;
E+F:匹配所有標籤名為F的元素,並且有E型別的兄弟節點在該F元素之前(E,F緊挨著);
E~F:匹配前面是任何兄弟節點E的所有元素F(E,F不必緊挨著);
E:has(F):匹配標籤名為E,至少有一個標籤名為F的後代節點的所有元素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結尾的;
E[A*=V]:匹配所有元素E,且A的屬性值中包含有V;


4.利用jQuery自定義的選擇器進行選擇:
:button:選擇任何按鈕型別的元素,包括input[type=submit]等等;
:checkbox:選擇核取方塊元素;
:file:選擇所有檔案型別元素,即input[type=file];
:image:選擇表單中的影象元素,即input[type=image],注意此處和前面根據標籤img選擇影象有點不同哈;
:input:選擇表單元素,如<input>,<select>,<textarea>,<button>等;
:radio:選擇單選按鈕元素;
:reset:選擇復位按鈕元素,如input[type=reset],button[type=reset];
:submit:選擇提交按鈕元素;
:text:選擇文字欄位元素,即input[type=text];
:animated:選擇當前處於動態控制下的元素;
:contains(hello):選擇包含文字hello的元素;
:header:選擇標題元素,如<h1>;
:parent:選擇擁有後代節點(包括文字)的元素,而排除空元素;
:selected:選擇已選中的選項元素;
:visible:選擇可見元素;
:enable:選擇介面上已經可以使用的表單元素;
:disabled:選擇介面上被禁用的表單元素;
:checked:選擇已選中的核取方塊或單選按鈕


相關文章