在我看來,jQuery的.data()
函數更像是一次寫入存儲而不是真正的讀寫存儲。如何更新jQuery的.data()存儲的「複雜」數據?
似乎沒有一種更新複雜值的舒適方式。
假設我們想要在雙鏈表中使用一些元素(不是我的用例,只是說明性的目的)。
這將是容易,如果我會做:
$elem.data('prev', $prev);
$elem.data('next', $next);
但我覺得這是不好的做法,污染「全局」 .data()
命名空間中的元素。
所以我寧願做:
$elem.data('list', {prev: $prev, next: $next});
但我怎麼現在更新prev
?
在第一個例子,我只想做:
$elem.data('prev', $newPrev);
但在做事的在我看來,「更好」的方式,我能想到的唯一的事情是這樣的:
$elem.data('list', {prev: $newPrev, next: $elem.data('list').next});
這對我來說似乎更加麻煩,我懷疑有更好的辦法,但到目前爲止我找不到任何東西。
我應該怎麼辦?
使用數據('next',..)數據('prev',..)有什麼問題?它是每元素,而不是全球 –