2010-12-30 12 views
1

基本的にHTML要素にカスタム属性を設定できるようにしたい(できればjQueryを使用します)。すなわちJavascriptのHTML要素固有の値(IEの場合)

$("#element").attr('myVar','10px');

そして、これは、そのようなChromeとFirefoxなどのブラウザで完璧に動作します。しかし、明らかにIE 8でもカスタム属性をサポートしていません。私はIEと互換性のある何か類似のことをどうすればできますか?

私はちょうどそのような

obj.myValue = "10px";

として値を設定しようと試みた。しかし、私は後でスクリプト内の値を取得しようとしたとき、それは未定義ました。

答えて

2

要素に直接カスタム属性を設定しないでください。どうして?予約されたプロパティがあり、不気味でバグがあり、競合が発生するためです。その代わりに、jQueryの.dataを使用します。これは、DOMオブジェクトごとにカスタムプロパティ/キーを内部的に格納します。

$('#element').data('key', 'value'); 

$('#element').data('key')を指定して値を取得します。

+0

をリーク!それがまさに私が探しているものです。 ...それは問題を解決するようには見えないが。それをやって! – Will

+0

値を設定したら、IE開発ツールバーを使用して要素を検査し、要素 –

+0

に値が設定されていることを確認します。1.正しい値を参照していることを確認します。2. ' pxと単位のない値。 –

0

jQuery dataメソッドを使用します。 apidocsはこちら。

jQuery.data()メソッドは に私たちを可能にするには、メモリから 循環参照から安全、したがって、自由な方法でDOM 要素に任意の型のデータを添付はい

関連する問題