parents()函數(shù)用于選取每個(gè)匹配元素的祖先元素,并以jQuery對(duì)象的形式返回。
你還可以使用選擇器來進(jìn)一步縮小選取范圍,只選取其中符合指定選擇器的元素。
該函數(shù)屬于jQuery對(duì)象(實(shí)例)。
語法
JavaScript:
jQueryObject.parents([selector])
參數(shù)
參數(shù)描述
selector可選/String類型指定的選擇器字符串,用于篩選匹配的元素。
parents()函數(shù)將選取當(dāng)前jQuery對(duì)象每個(gè)匹配元素的符合選擇器selector的祖先元素。
如果省略selector參數(shù),則選取所有的祖先元素。
返回值
parents()函數(shù)的返回值為jQuery類型,返回一個(gè)新的jQuery對(duì)象,該對(duì)象封裝了當(dāng)前jQuery對(duì)象每個(gè)匹配元素的符合選擇器selector(如果指定了的話)的所有祖先元素。
如果沒有符合條件的元素,則返回空的jQuery對(duì)象。
示例&說明
以下面這段HTML代碼為例:
HTML:
<!DOCTYPE html><html><body><divid="n1"><pid="n2"></p><pid="n3"><spanid="n4"class="foo"></span></p></div><divid="n5"class="bar"><pid="n6"class="foo"></p></div></body></html>
以下jQuery示例代碼用于演示parents()函數(shù)的具體用法:
JavaScript:
// 返回jQuery對(duì)象所有匹配元素的標(biāo)識(shí)信息數(shù)組// 每個(gè)元素形如:
tagName或tagName#id(如果有id的話)
function? ?getTagsInfo($doms){
return? $doms.map(function(){
? ? ? returnthis.tagName+(this.id?"#"+this.id:"");
}).get();
}
var$n4=$("#n4");//獲取n4的祖先元素
var? ?$parents1=$n4.parents();
? ? ?document.writeln(getTagsInfo($parents1));// P#n3,DIV#n1,BODY,HTMLvar$p=$("p");//獲取所有p元素的祖先元素
? ? ? ?var? ?$parents2=$p.parents();
????document.writeln(getTagsInfo($parents2));// DIV#n5,DIV#n1,BODY,HTML
????//獲取所有p元素的包含類名"bar"的祖先元素
? ? ? ?var? $parents3=$p.parents(".bar");document.writeln(getTagsInfo($parents3));// DIV#n5
????????var$foo=$(".foo");//獲取所有包含類名"foo"的元素的祖先元素中的div元素
? ? ? ?var$parents4=$foo.parents("div");document.writeln(getTagsInfo($parents4));// DIV#n5,DIV#n1