2010-07-02 13 views
3

我可以做jQuery數據的方法信息在哪裏?

<div class="some_div">some div</div> 
<script> 
    jQuery('.some_div').data('some_data','some info').remove(); 
</script> 

其中添加數據的方法的信息,仍然是圍繞着DOM?我是否需要取消初始化?當div元素沒有引用時,信息是否會自動刪除?

回答

4

數據通過閉包存儲在jQuery對象可用的變量中。 它永遠不會存儲在dom中。 Remove方法會刪除數據以及DOM元素。

卸下襬臂([選擇器])

到.empty類似()時,卸下襬臂() 方法取出DOM的元素。 我們使用.remove()當我們想要 刪除元素本身,以及 裏面的一切。 除了 元素本身,所有綁定的 事件和與 關聯的jQuery數據元素都被刪除

源:jQuery的API:remove()

4

的jQuery放在需要時DOM元素的序列號,並使用該基準來查找相關聯的數據的元件。

例如:jQuery1278101043588: 1

只要元素存在,你的數據應該存在。不需要引用代碼中的元素。

當您撥打.remove().empty()時,與元素關聯的數據將被清除。

如果您希望從DOM中刪除元素而不丟失數據,則可以使用.detach()

的jQuery還具有用於在清除不再需要數據的方法.removeData()。如果調用而不傳遞參數,它將清除元素上的所有數據。

+1

+1進入細節。此外,可以使用與jQuery唯一ID關聯的值來檢查數據。在你的例子中它是'1',所以存儲區域將位於'jQuery.cache [1]'。這適用於:) – Anurag 2010-07-03 02:04:42

+1

@Auurag - 非常不錯的加法。謝謝! :O) – user113716 2010-07-03 02:23:51