在我看来,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});
这对我来说似乎更麻烦,我怀疑有更好的方法,但到目前为止我无法找到任何东西。
我应该怎么做?