可以使用jQuery的children方法來獲取某個(gè)元素下的所有子元素。如果給定表示 DOM 元素集合的 jQuery 對(duì)象,.children() 方法允許我們檢索 DOM 樹中的這些元素,并用匹配元素構(gòu)造新的 jQuery 對(duì)象。.find()?和 .children() 方法類似,不過后者只沿著 DOM 樹向下遍歷單一層級(jí)。

創(chuàng)新互聯(lián)公司云計(jì)算的互聯(lián)網(wǎng)服務(wù)提供商,擁有超過13年的服務(wù)器租用、成都服務(wù)器托管、云服務(wù)器、網(wǎng)頁空間、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn),已先后獲得國家工業(yè)和信息化部頒發(fā)的互聯(lián)網(wǎng)數(shù)據(jù)中心業(yè)務(wù)許可證。專業(yè)提供云主機(jī)、網(wǎng)頁空間、空間域名、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
工具原料:編輯器、瀏覽器
1、使用children方法可以獲得選擇器下的所有子元素,代碼實(shí)例如下:
!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、運(yùn)行的結(jié)果是找到類名為 "selected" 的所有 div 的子元素,并將其設(shè)置為藍(lán)色,結(jié)果如下:
Jquery獲取子元素的方法有2種,分別是children()方法和find()方法。下面我們分別來使用這兩種方法,看看它們有何差異。
children()方法:獲取該元素下的直接子集元素
find()方法:獲取該元素下的所有子集元素
需要準(zhǔn)備的材料分別有:電腦、html編輯器、瀏覽器。
1、首先,打開html編輯器,新建html文件,例如:index.html,并引入jquery,編寫問題基礎(chǔ)代碼。
2、在index.html中的script標(biāo)簽,輸入jquery代碼:
$('#a').html('img src="' + $('#img1 img').attr('src') + '"/');
3、瀏覽器運(yùn)行index.html頁面,此時(shí)成功選擇到img1中的圖片并顯示在另一個(gè)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方法將不會(huì)被獲取。我們可以用length來測(cè)試獲取的個(gè)數(shù)“$("ul").children("li").length”,最后輸出結(jié)果為3
find()方法獲取ul下所有元素li:$("ul").find("li")
需要注意的是,find方法會(huì)無限循環(huán)查找ul標(biāo)簽節(jié)點(diǎn)下的li,一直找到?jīng)]有為止,用length來測(cè)試獲取個(gè)數(shù)“$("ul").find("li").length”,最后輸出結(jié)果為9
children和find的區(qū)別:children只會(huì)查找直接子集,而find會(huì)跨越層級(jí)查找,一直找到?jīng)]有為止。
通過children
children("input:first-child")
$(this).children("input:first-child").val();
$(this).children("input:last-child").val();
通過選擇器,$(".itemsinput:first")
1. 通過位置選擇的操作:
:first:默認(rèn)情況下是相對(duì)整個(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,對(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:頁面范圍內(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“)會(huì)選出所有鏈接元素;
#id:通過元素id進(jìn)行選擇,比如說$("#form1")會(huì)選擇id為form1的元素;
.class:通過元素的CSS類來選擇,比如說$(".boldstyle")會(huì)選擇CSS為boldstyle類的元素;
標(biāo)簽 名#id.class:通過某類元素的id屬性和class屬性來選擇,如:$(a#blog.boldStyle)會(huì)選擇id為blog并且CSS類型 為.boldStyle類型的鏈接元素(a id='blog' class='.boldStyle');
父標(biāo)簽名 子標(biāo)簽名.class:通過選擇父標(biāo)簽下的某種CSS類型的子元素,如:$(p a.redStyle)會(huì)選擇p段落元素中的鏈接子元素a,且其css類型為.redStyle;
3. 通過子選擇器,容器選擇器和屬性選擇器進(jìn)行選擇:
*:匹配所有的元素,比如說:$(*)會(huì)把頁面中的所有元素都返回;
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)前處于動(dòng)態(tài)控制下的元素;
:contains(hello):選擇包含文本hello的元素;
:header:選擇標(biāo)題元素,如h1;
:parent:選擇擁有后代節(jié)點(diǎn)(包括文本)的元素,而排除空元素;
:selected:選擇已選中的選項(xiàng)元素;
:visible:選擇可見元素;
網(wǎng)頁名稱:jquery取子元素,jQuery獲取子節(jié)點(diǎn)
分享地址:http://chinadenli.net/article0/dsshsoo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、企業(yè)網(wǎng)站制作、網(wǎng)站內(nèi)鏈、網(wǎng)站導(dǎo)航、虛擬主機(jī)、域名注冊(cè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)