為什么 var p =$('p:first').detach(); 不能直接換成$('p:first').detach();
這么寫(xiě)
? ? ? $('p').click(function(e){?
? ? ? ? alert(e.target.innerHTML)
? ? })
? ? var p;
? ? $('button:first').click(function(){
? ? $('p:first').remove();
? ? p.css('color','red').text('p1通過(guò)remove處理后,點(diǎn)擊該元素,事件丟失');
? ? $('body').append(p); ? ?
? ? }) ; ?
結(jié)果點(diǎn)擊第一次remove按鈕的時(shí)候,第一個(gè)p元素有append回來(lái),第二個(gè)p元素直接移除沒(méi)了。
2017-06-07
var p =$('p:first').detach();這句話是把detach刪除的第一個(gè)p元素保存起來(lái),要用的時(shí)候直接用append(p)是把保存好的刪除的p元素在加到body里面
你直接var p;p.css('color','red').text('p1通過(guò)remove處理后,點(diǎn)擊該元素,事件丟失');是自己新建了一個(gè)新的p元素,只有你手動(dòng)加進(jìn)去的東西,不是通過(guò)remove或者detach刪掉的。所以你再append加進(jìn)去的只是你自己建的p元素!
2017-07-23
用控制臺(tái)運(yùn)行,發(fā)現(xiàn)? ? p.css('color','red').text('p1通過(guò)remove處理后,點(diǎn)擊該元素,事件丟失');
是錯(cuò)的,因?yàn)檫@個(gè)變量p沒(méi)有css這個(gè)方法,因?yàn)閜不是jQuery對(duì)象