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});
これはもっと厄介なようですが、もっと良い方法があると思われますが、これまで何も見つかりませんでした。
どうすればよいですか?
データ( '次'、..)データ( 'prev'、..)を使用する際の問題は何ですか?要素ごとではなく、グローバルではありません –