jQuery detach()

admin發表於2018-02-02

此方法從DOM中去掉所有匹配的元素。

和remove()功能相同, 不過detach()方法儲存所有jQuery資料和被移走的元素相關聯。

當需要移走一個元素,不久又將該元素插入DOM時,detach()方法很有用。

語法結構:

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

引數解析:

selector:一個選擇表示式將需要移除的元素從匹配的元素中過濾出來。

jQuery1.4版本新增。

程式碼例項:

[HTML] 純文字檢視 複製程式碼執行程式碼
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<script src="https://code.jquery.com/jquery-3.0.0.js"></script>
<script type="text/javascript">  
$(document).ready(function(){ 
  $("#bt").click(function () {
    $("div").detach("#ant_1");
  }); 
}) 
</script>
</head>
<body>
<div id="ant_1">螞蟻部落一</div>
<div id="ant_2">螞蟻部落二</div>
<input type="button" id="bt" value="檢視演示" />
</body>
</html>

以上程式碼能夠刪除div集合中id值"ant_1"為的div元素。

[HTML] 純文字檢視 複製程式碼執行程式碼
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<script src="https://code.jquery.com/jquery-3.0.0.js"></script>
<script type="text/javascript">  
$(document).ready(function(){ 
  $("#btd").click(function(){ 
    var $div=$("div"); 
    $div.detach("#ant_1");
    $("#btn").click(function(){ 
      alert($div.length);
    }); 
  }); 
}) 
</script>
</head>
<body>
<div id="ant_1">螞蟻部落一</div>
<div id="ant_2">螞蟻部落二</div>
<input type="button" id="btd" value="刪除div效果"/>
<input type="button" id="btn" value="檢視刪除操作後div的數量"/>
</body>
</html>

刪除div後,但是資料還是在記憶體中存在。

相關文章