可以使用jQuery的children方法來獲取某個元素下的所有子元素。如果給定表示 DOM 元素集合的 jQuery 對象,.children() 方法允許我們檢索 DOM 樹中的這些元素,并用匹配元素構造新的 jQuery 對象。.find()?和 .children() 方法類似,不過后者只沿著 DOM 樹向下遍歷單一層級。
創(chuàng)新互聯(lián)公司云計算的互聯(lián)網(wǎng)服務提供商,擁有超過13年的服務器租用、成都服務器托管、云服務器、網(wǎng)頁空間、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗,已先后獲得國家工業(yè)和信息化部頒發(fā)的互聯(lián)網(wǎng)數(shù)據(jù)中心業(yè)務許可證。專業(yè)提供云主機、網(wǎng)頁空間、空間域名、VPS主機、云服務器、香港云服務器、免備案服務器等。
工具原料:編輯器、瀏覽器
1、使用children方法可以獲得選擇器下的所有子元素,代碼實例如下:
!DOCTYPE?html
html
head
script?type="text/javascript"?src="/jquery/jquery.js"/script
style
body?{?font-size:16px;?font-weight:bolder;?}
p?{?margin:5px?0;?}
/style
/head
body
div
spanHello/span
p?class="selected"Hello?Again/p
div?class="selected"And?Again/div
pAnd?One?Last?Time/p
/div
script$("div").children(".selected").css("color",?"blue");/script
/body
/html
2、運行的結果是找到類名為 "selected" 的所有 div 的子元素,并將其設置為藍色,結果如下:
Jquery獲取子元素的方法有2種,分別是children()方法和find()方法。下面我們分別來使用這兩種方法,看看它們有何差異。
children()方法:獲取該元素下的直接子集元素
find()方法:獲取該元素下的所有子集元素
需要準備的材料分別有:電腦、html編輯器、瀏覽器。
1、首先,打開html編輯器,新建html文件,例如:index.html,并引入jquery,編寫問題基礎代碼。
2、在index.html中的script標簽,輸入jquery代碼:
$('#a').html('img src="' + $('#img1 img').attr('src') + '"/');
3、瀏覽器運行index.html頁面,此時成功選擇到img1中的圖片并顯示在另一個div中。
query獲取子元素的方法有2種,分別是children()方法和find()方法。下面我們分別來使用這兩種方法,看看它們有何差異。
children()方法:獲取該元素下的直接子集元素
find()方法:獲取該元素下的所有子集元素
分別以以下HTML代碼為例:ullilist1ullilist1-1/lililist1-2/li/ul/lililist2ullilist2-1/lililist2-2/li/ul/lililist3ullilist3-1/lililist3-2/li/ul/li/ul
children()方法獲取ul下面直接子集元素li:$("ul").children("li")
需要注意的是,如果li元素下還有l(wèi)i元素,children方法將不會被獲取。我們可以用length來測試獲取的個數(shù)“$("ul").children("li").length”,最后輸出結果為3
find()方法獲取ul下所有元素li:$("ul").find("li")
需要注意的是,find方法會無限循環(huán)查找ul標簽節(jié)點下的li,一直找到?jīng)]有為止,用length來測試獲取個數(shù)“$("ul").find("li").length”,最后輸出結果為9
children和find的區(qū)別:children只會查找直接子集,而find會跨越層級查找,一直找到?jīng)]有為止。
通過children
children("input:first-child")
$(this).children("input:first-child").val();
$(this).children("input:last-child").val();
通過選擇器,$(".itemsinput:first")
1. 通過位置選擇的操作:
:first:默認情況下是相對整個頁面來說的第一個,如:li:first表示整個頁面的第一個li元素,而ul li:first表示整個頁面的第一個li元素,并且是在ul下的子元素;
:first- child:為每個父元素匹配第一個子元素,如li:first-child返回每個ul的第一個li元素??梢赃@樣理解,頁面中的元素有相同的父元素 的,并且里面又包含li元素的,那么就取第一個li元素,每個子類集合都要進行判斷,直到找出所有符合要求的li元素;
:only- child:返回所有沒有兄弟節(jié)點的元素,注意,文本元素不是,也就是說類似這樣的divhelloa href=""jquery/a/div,對于這段會選出a元素;對 于$(”label:only-child“)會選出是label元素,同時它是它父類唯一的子元素的label元素;
:nth-child(n):返回第n個子節(jié)點,n從1開始,如果n取0,那么就會選擇所有的元素。如:[*]li:nth-child(2)返回li元素,并且該元素是其父元素的第二個子元素;
:nth-child(even|odd):返回偶數(shù)或奇數(shù)的子節(jié)點;
:nth-child(An+B):返回滿足表達式An+B的所有子節(jié)點,比如3n+1返回所處位置為父節(jié)點子元素的是3的倍數(shù)加1的那個子元素;
:even:頁面范圍內(nèi)的處于偶數(shù)位置的元素,如:li:even返回全部偶數(shù)li元素;
:odd:頁面范圍內(nèi)的處于奇數(shù)位置的元素;
: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的子類的子類,甚至更遠);
EF:匹配父元素E下的所有標簽名為F的直接子元素;
E+F:匹配所有標簽名為F的元素,并且有E類型的兄弟節(jié)點在該F元素之前(E,F緊挨著);
E~F:匹配前面是任何兄弟節(jié)點E的所有元素F(E,F不必緊挨著);
E:has(F):匹配標簽名為E,至少有一個標簽名為F的后代節(jié)點的所有元素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],注意此處和前面根據(jù)標簽名img選擇圖像有點不同哈;
:input:選擇表單元素,如input,select,textarea,button等;
:radio:選擇單選按鈕元素;
:reset:選擇復位按鈕元素,如input[type=reset],button[type=reset];
:submit:選擇提交按鈕元素;
:text:選擇文本字段元素,即input[type=text];
:animated:選擇當前處于動態(tài)控制下的元素;
:contains(hello):選擇包含文本hello的元素;
:header:選擇標題元素,如h1;
:parent:選擇擁有后代節(jié)點(包括文本)的元素,而排除空元素;
:selected:選擇已選中的選項元素;
:visible:選擇可見元素;
網(wǎng)頁名稱:jquery取子元素,jQuery獲取子節(jié)點
分享地址:http://aaarwkj.com/article0/dsshsoo.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、企業(yè)網(wǎng)站制作、網(wǎng)站內(nèi)鏈、網(wǎng)站導航、虛擬主機、域名注冊
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)