0

私は jQuery と jQuery UI を使用していますが、JavaScript はほぼ初心者です。window複数の jQuery オブジェクトに関連するカスタム データを保持するために、オブジェクトにグローバル変数を設定したいと考えています。つまり、現時点では次の (貧弱な) コードを使用しています。

// Given
window.myDataObject = {};

// Then, in the same file, I run multiple times (one time for each 'tag_id_1', 
// 'tag_id_2', ..., 'tag_id_N') the following code
var tag      = $('#tag_id_N')
myDataObject = { pagination: { page : 1, per_page: 10 } } // This aims to keep pagination data for tags.

複数 の のデータを保持しようとしているためtag、上記のコードを複数回実行すると、window.myDataObjectが継続的に「再初期化」されます (保持プロセスが非効率になります)。そのため、「名前空間」プロパティtag(おそらく、各オブジェクトに関連する「何か」で名前空間) を追加しwindow.myDataObjectて、それぞれtagが独自のページ付けデータを持つようにしました。

どうすればそれを作ることができますか?そのアプローチは「良い」/「適切な」方法ですか?

4

2 に答える 2

0

まず、windowオブジェクト notを使用する必要がありますwindows。第 2 に、複数のタグを使用したい場合は、次のようにすることができます。

// Then, in the same file, I run multiple times (one time for each 'tag_id_1', 
// 'tag_id_2', ..., 'tag_id_N') the following code
var tagId = 'tag_id_N';
// This aims to keep pagination data for tags.
window.taggedObjects[tagId] = { tag: $('#' + tagId), pagination: { page : 1, per_page: 10 } };

データを取得するには、次のようにタグ ID を再度使用します。

alert(window.taggedObjects[tagId]);
于 2012-12-03T11:00:29.567 に答える
0

メソッドを探しているだけだと思います.data()

この.data()メソッドを使用すると、循環参照やメモリ リークから安全な方法で、任意の型のデータを DOM 要素にアタッチできます。

1 つの要素にいくつかの異なる値を設定し、後でそれらを取得できます。

于 2012-12-03T11:01:22.693 に答える