jQuery parents()和parent()

antzone發表於2017-03-03

標題中的兩個函式在jQuery程式碼中非常的常見,下面就簡單介紹一下它們兩者的區別,希望能夠對初學者有所幫助。

這兩個函式的區別其實非常餓明顯,先從名稱上進行區別:

parents()函式比parent()函式在名稱多了一個"s",有點英語常識的話,很快就可能意識到parents()函式獲取的元素可能不止一個,parent()函式則可能只能夠獲取一個元素,注意這裡一個元素並非說此函式的返回的jQuery物件中只有一個元素,而是說parent()只會獲取匹配元素集合中每一個元素的一級父元素。

看一段例項程式碼:

[HTML] 純文字檢視 複製程式碼
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<style type="text/css">
div{padding:20px;}
.main{
  width:200px;
  height:200px;
  background:green;
  margin-bottom:5px;
}
.box{
  width:150px;
  height:150px;
  background:red;
}
p{
  width:50px;
  height:50px;
  background:blue;
}
</style>
<script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script>
<script type="text/javascript">
$(document).ready(function(){
  $("p").parent().css("background-color","yellow");
})
</script>
</head>
<body>
<div class="main">
  <div class="box">
    <p></p>
  </div>
</div>
<div class="main">
  <div class="box">
    <p></p>
  </div>
</div>
</body>
</html>

將p的父元素box的背景顏色設定為黃色,這說明parent()函式是將匹配元素集合中每一個p元素的一級父元素的背景顏色設定為黃色。

再來看一段程式碼例項:

[HTML] 純文字檢視 複製程式碼
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<style type="text/css">
div{padding:20px;}
.main{
  width:200px;
  height:200px;
  background:green;
  margin-bottom:5px;
}
.box{
  width:150px;
  height:150px;
  background:red;
}
p{
  width:50px;
  height:50px;
  background:blue;
}
</style>
<script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script>
<script type="text/javascript">
$(document).ready(function(){
  $("p").parents().css("background-color","yellow");
})
</script>
</head>
<body>
<div class="main">
  <div class="box">
    <p></p>
  </div>
</div>
<div class="main">
  <div class="box">
    <p></p>
  </div>
</div>
</body>
</html>

以上程式碼可以將每一個p元素的所有父元素的背景顏色都設定為黃色。

一.相關閱讀:

1.parents()函式可以參閱jQuery parents()一章節。 

2.parent()函式可以參閱jQuery parent()一章節。

二.最後總結:

1.兩個函式都是獲取匹配元素集合中每一個元素的一級父元素,這是相同點。

2.parents()函式是獲匹配元素集合中每一個元素的所有父級元素,這是不同點。

相關文章