2

何が起こっているかの例:

> $('#start_date').dateTime = {bacon:5, myFunc: function() { ... }}
Object {bacon: 5, myFunc: function}
> $('#start_date').dateTime
undefined

同じセレクターを使用する場合、「ベーコン」オブジェクトを取得できるようにしたいと考えています。

$()毎回異なるオブジェクトを返していることがわかりました - 回避策はありますか?

を使用できることはわかって.dataいますが、API はそれほど優れていません。$('#start_date').data('dateTime').myFunc()の代わりにやらなければならない$('#start_date').dateTime.myFunc()

4

3 に答える 3

1

jQuery オブジェクトの代わりに、DOM 要素にプロパティを追加できます。

$('#start_date')[0].dateTime = {bacon:5};
console.log($('#start_date')[0].dateTime);

または、セレクターをキーとして使用して、ある種の辞書を維持することもできます。ただし、呼び出しはまだあまりスタイリッシュではなく、値は DOM に接続されていません。

//for example save your data by id attribute
DOMData[$('someselector').attr('id')].dateTime = {bacon: 5}; 
于 2013-04-26T16:40:56.870 に答える