var p = $("p:first").remove();,這一句代碼中的p是不是其實(shí)什么東西都沒(méi)有?
$("button:first").click(function() {
? ? ? ? var p = $("p:first").remove();
? ? ? ? p.css('color','red').text('p1通過(guò)remove處理后,點(diǎn)擊該元素,事件丟失')
? ? ? ? $("body").append(p);
? ? });
這段代碼里,p是不是沒(méi)有東西了?之后給它定義新的樣式和文字,并附加到body中。然后,因?yàn)閞emove()會(huì)把節(jié)點(diǎn)上的事件與數(shù)據(jù)都刪除,所以之前添加的點(diǎn)擊事件也早就被刪除了.因此點(diǎn)擊新定義的p節(jié)點(diǎn),沒(méi)有彈出消息框,我的理解對(duì)吧?
2018-05-29
我也有在這個(gè)疑惑,后面我把
?p.css('color','red').text('p1通過(guò)remove處理后,點(diǎn)擊該元素,事件丟失')
$("body").append(p);
改成
p.css('color','red')
$("body").append(p);
發(fā)現(xiàn)還保留這刪除前的文本
2017-10-03
這行代碼是從文檔流中刪除p元素,然后賦給一個(gè)新定義變量p.新p保存了原先刪除的那個(gè)對(duì)象,但是沒(méi)有它的方法和數(shù)據(jù)。
2017-05-09
不是的,remove()函數(shù)的返回值為jQuery類型,返回當(dāng)前jQuery對(duì)象本身。remove()函數(shù)會(huì)移除文檔中匹配的元素,但不會(huì)將匹配元素從jQuery對(duì)象中移除,不過(guò)remove()只會(huì)保留元素本身,其他的諸如元素所關(guān)聯(lián)的附加數(shù)據(jù)和綁定事件等都會(huì)被移除。