jQuery end()

admin發表於2017-07-03

方法能夠回到最近的一個"破壞性"操作之前,即將匹配的元素列表變為前一次的狀態。

返回值是最近一次"破壞性"操作之前的jQuery物件,如果沒有"破壞性"操作將返回一個空集。

破壞性操作的概念:指任何改變所匹配元素的操作,例如:

[JavaScript] 純文字檢視 複製程式碼
$("li").css("color","red");

以上不是一個破壞性操作,因為匹配元素列表並沒有發生變化,改變的是元素文字的CSS屬性。

[JavaScript] 純文字檢視 複製程式碼
$("li").find("#ant")

以上是一個破壞性操作,因為匹配元素的列表發生了變化,比如有三個li元素,那麼匹配元素列表中有三個元素,但是使用find()方法篩選之後,匹配元素列表只有一個元素了,這就是發生了"破壞性"操作。

jQuery1.0版本新增。

語法結構:

[JavaScript] 純文字檢視 複製程式碼
$(selector).end()

程式碼例項:

[HTML] 純文字檢視 複製程式碼執行程式碼
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript"> 
$(document).ready(function(){ 
  $(".first").find(".div").css("color","green"); 
  $(".second").find(".div").end().css("color","blue"); 
  $(".third").find(".js").css("color","blue").end().css("color","red") 
}) 
</script>
</head>
<body>
<div>
  <ul class="first">
    <li>HTML專區</li>
    <li>Javascript專區</li>
    <li class="div">Div+Css專區</li>
    <li>Jquery專區</li>
  </ul>
  <ul class="second">
    <li>HTML專區</li>
    <li>Javascript專區</li>
    <li class="div">Div+Css專區</li>
    <li>Jquery專區</li>
  </ul>
  <ul class="third">
    <li>HTML專區</li>
    <li class="js">Javascript專區</li>
    <li>Div+Css專區</li>
    <li>Jquery專區</li>
  </ul>
</div>
</body>
</html>

相關文章