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