關(guān)于p的問題
<body>
? ? <p>P元素1,默認(rèn)給綁定一個點擊事件</p>
? ? <p>P元素2,默認(rèn)給綁定一個點擊事件</p>
? ? <button id="bt1">點擊刪除 p 元素</button>
? ? <button id="bt2">點擊移動 p 元素</button>
? ? <script type="text/javascript">
? ? $('p').click(function(e) {
? ? ? ? alert(e.target.innerHTML)
? ? })
? ? var aa;
? ? $("#bt1").click(function() {
? ? ? ? if (!$("p").length) return; //去重
? ? ? ? //通過detach方法刪除元素
? ? ? ? //只是頁面不可見,但是這個節(jié)點還是保存在內(nèi)存中
? ? ? ? //數(shù)據(jù)與事件都不會丟失
? ? ? ? aa = $("p").detach()
? ? });
? ? $("#bt2").click(function() {
? ? ? ? //把p元素在添加到頁面中
? ? ? ? //事件還是存在
? ? ? ? $("body").append(p);
? ? });
? ? </script>
</body>
我劃下劃線的幾個地方改過了,改成這樣后,點擊button1——刪除p,對的。可是點擊button2——添加p的時候,變成了添加4個p了。為什么?
2018-09-06
之前的p就相當(dāng)于你現(xiàn)在寫的aa,它只是一個變量里面保存了$("p").detach()刪除的東西,如果想要加回來那么應(yīng)該append(aa)
2018-09-03
...你這第二個點擊移動那個就觸發(fā)不了,append()中的參數(shù)都不對
2018-07-07
你確定你這樣寫的不報錯?
<body>
<p>P元素1,默認(rèn)給綁定一個點擊事件</p>
<p>P元素2,默認(rèn)給綁定一個點擊事件</p>
<button id="bt1">點擊刪除 p 元素</button>
<button id="bt2">點擊移動 p 元素</button>
<script type="text/javascript">
$('p').click(function(e) {
alert(e.target.innerHTML)
})
var aa;
$("#bt1").click(function() {
if (!$("p").length) return;?
aa = $("p").detach()
});
$("#bt2").click(function() {
$("body").append(aa);
});
</script>
</body>
這樣寫沒問題