亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

jQuery DOM 操作 detach()

ページ上のノードを一時(shí)的に削除したいが、ノード上のデータとイベントが失われることは望ましくなく、削除されたノードを次の期間にページ上に表示できる場(chǎng)合は、デタッチを使用できます。それを処理する方法

detach 文字通りに理解するのは簡(jiǎn)単です。 Web 要素をホストします。つまり、要素は現(xiàn)在のページから削除されますが、この要素のメモリ モデル オブジェクトは保持されます。

jquery 公式ドキュメントの説明を見(jiàn)てみましょう:

このメソッドは jQuery オブジェクトから一致する要素を削除しないため、これらの一致する要素は將來(lái)再び使用できます。 Remove() とは異なり、すべてのバインドされたイベント、添付データなどが保持されます。
$("div").detach() はオブジェクトを削除しますが、表示効果は失われます。しかし、それは記憶の中にまだ存在しています。追加すると、ドキュメント フローに戻ります。またまた現(xiàn)れました。

もちろん、ここでは特別な注意を払う必要があります。デタッチ メソッドは JQuery に固有のものであるため、JQuery メソッドを通じてバインドされたイベントまたはデータのみを処理できます。

$("p を介して右側(cè)のコード領(lǐng)域を參照してください。 ").detach() P 要素をすべて削除した後、削除した p 要素を追加でページに配置します。テキストをクリックすると、イベントが失われていないことが証明できます

サンプルコードを見(jiàn)てみましょう:

りー


學(xué)び続ける
||
<html> <head> <meta http-equiv="Content-type" content="text/html; charset=utf-8" /> <script src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script> <style type="text/css"> p { color: red; } </style> </head> <body> <p>P元素1,默認(rèn)給綁定一個(gè)點(diǎn)擊事件</p> <p>P元素2,默認(rèn)給綁定一個(gè)點(diǎn)擊事件</p> <button id="bt1">點(diǎn)擊刪除 p 元素</button> <button id="bt2">點(diǎn)擊移動(dòng) p 元素</button> <script type="text/javascript"> $('p').click(function(e) { alert(e.target.innerHTML) }) var p; $("#bt1").click(function() { if (!$("p").length) return; //去重 //通過(guò)detach方法刪除元素 //只是頁(yè)面不可見(jiàn),但是這個(gè)節(jié)點(diǎn)還是保存在內(nèi)存中 //數(shù)據(jù)與事件都不會(huì)丟失 p = $("p").detach() }); $("#bt2").click(function() { //把p元素在添加到頁(yè)面中 //事件還是存在 $("body").append(p); }); </script> </body> </html>
提出するリセットコード