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