簡體   English   中英

使用.data()而不是使用純變量存儲數據的原因是什么?

[英]What's the reason for storing data with .data() instead of using plain variables?

假設我必須記住某個元素的初始高度。 我看到的常見做法是在該元素上使用$.data保存此值。

我不理解這個的好處。 為什么不簡單地保留一個帶有該值的簡單變量,或者如果有多個元素則保留帶有值的數組? 保持代碼易於理解。

使用data()主要原因是存儲特定於某個元素的數據,以便以后可以訪問,這是一個例子

$('.elements').on('click', function() {
     $(this).data('value', this.value);
});

$('.elements').on('keyup', function() {
    $(this).val( $(this).data('value') );
});

請注意,事件處理程序可以匹配許多不同的元素,並且使用data()可以保留與每個元素關聯的數據,而無需為每個元素或復雜數組使用多個變量。

它允許重用該函數以將相同的效果應用於其他元素(無需處理閉包)。

它允許使用HTML初始化值。

它使開發人員工具更容易檢查數據。

基本上是因為你在INSIDE A NODE中保存信息,防止可能的變量名沖突而不需要傳遞變量。 有關節點的所有必需信息都與節點本身保持一致

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM