天天看點

淺談jQuery中的删除方法empty()、remove()和detach()

jQuery提供了三種删除節點的方法:remove()、detach()和empty()。

1.empty():不是删除節點,而是清空節點,清空比對的元素集合中所有的子節點,但元素自身和事件都未被删除。

2.remove():不會把比對的元素從jQuery對象中删除,可以在将來再使用,但除了元素自身保留下來外,其他的比如綁定的事件,附加的資料等都會被删除。

3.detach():不會把比對的元素從jQuery對象中删除,可以在将來再使用,且所有綁定的事件、附加的資料等都會保留下來。

參數 綁定的事件、附加的資料是否被移除 元素自身是否被移除
remove() 無參數 是:無參數時;否:有參數時(要根據參數所涉及的範圍)
detach()

無參數:移除自身整個節點以及該節點的内部的所有節點,包括節點上事件與資料

有參數:移除篩選出的節點以及該節點的内部的所有節點,包括節點上事件與資料

是:無參數時;否:有參數時(要根據參數所涉及的範圍)
empty()

無參數:移除自身整個節點以及該節點的内部的所有節點,包括節點上事件與資料

有參數:移除篩選出的節點以及該節點的内部的所有節點,包括節點上事件與資料

利用原生JavaScript可以實作remove()删除元素和recover()恢複删除元素,請見:http://blog.csdn.net/zhouziyu2011/article/details/70738119