closest()函式parent()函式的區別

antzone發表於2017-03-03

標題中的兩個在實際編碼中非常的常用,它們之間有相同之處,但是不同的地方更多,下面通過程式碼例項介紹一下它們一些相同的和不同,希望能夠給需要的朋友帶來一定的幫助。

一.closest()函式:

此函式可以從當前元素本身向上層匹配,並返回最先匹配的元素。

此函式的匹配元素的數量是0個或者1個。

更多相關內容可以參閱jQuery closest()一章節。 

程式碼例項如下:

[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").closest("div").css("background-color","yellow");
})
</script>
</head>
<body>
<div class="main">
  <div class="box">
    <p></p>
  </div>
</div>
</body>
</html>

以上程式碼將從p元素開始向上查詢div元素,並將最先被查詢到的元素的背景顏色設定為黃色。

二.parent()函式:

此函式這裡就不介紹了,具體可以參閱jQuery parent()jQuery parents()和parent()區別一章節。

最後總結:

1.兩個函式都是獲取匹配元素集合中元素的父級元素,但是parent()函式獲取的是一級父元素,而closest()函式獲取的可以是一級父元素也可以不是一級父元素。

2.兩個函式獲取的匹配元素集合中每一個元素的父級元素的數量都是0個或者1個。

相關文章