![](/img/trans.png)
[英]Why use jQuery data to store variables instead of plain JavaScript objects?
[英]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.