2011-12-07 8 views
3

jqueryはHTMLデータ属性を追加せずに任意のデータを任意のDOM要素に関連付けることができますか?DOM要素とのデータバインディングはどのように機能しますか?

$('#div_id').data('suffix',(count++)) ; 

Firebug HTMLスナップショットのHTML要素に関連するデータ属性はありません。

どのような仕組みですか?

このデータ保管方法はHTML5ではもはや必要ではありませんが、jqueryデータ保管の実際のメカニズムは明確ではありません。

+1

は、多分それは内部ハッシュか何かを維持jQueryxxxxxxxxプロパティが表示されます。 –

+0

私はそう思います..... –

答えて

5

それはそうのようなjQuery.cacheオブジェクト内のインデックスを表す数値値が含まれている要素にプロパティを追加します。

$('#footer').data('suffix',"suffix"); 
jQuery.cache[ $('#footer')[0][jQuery.expando] ].suffix; 
//"suffix" 

私は、このページ上でコードを実行しましたので、私は"#footer"を使用。 jQuery.cache[index]のオブジェクト構造は、jQueryによってイベントがバインドされている要素でも異なります。

とにかく決してコードに触れてはいけないので、本当に問題にはなりません。

+0

説明のためにEsailijaありがとうございます。 –

1

JQueryは、DOM要素にプロパティを追加します。これは、内部ハッシュで物を検索するために使用するキーです。

あなたがそれを使用してデータを関連付けた後、あなたが放火犯か何かでDOM要素を調べる場合は、

関連する問題