質問

jQueryで使用するために、既存の属性が存在しない属性をHTML要素に添付することをお勧めします。たとえば

です
<input type="text" valrule="someregexstring" />
.

は単にjQueryを使用してvalruleという属性を含むすべての要素を選択し、正規表現文字列を解析します。

プログラミング基準やベストプラクティスが行くまでの「いいえ」となるのですか?

役に立ちましたか?

解決

Prefix data-<myAttribute>を使用する必要があります。HTML5ではサポートされていますが、他のブラウザはそれを無視し、.data()メソッドを使用してjQueryで簡単にアクセスできます。

<input  id="myInput" type="text" data-MySuperMassiveAttribute="Awesome"/>
.

とそのような情報を検索することができます。

var howAmI = $('#myInput').data('MySuperMassiveAttribute');
alert(howAmI); // now everybody knows how awesome you are ;-)
.

他のヒント

このような新しい属性のためのHTML5データ - プレフィックスを使用します。

<input type="text" data-valrule="someregexstring" />
.

その有効なHTML 5 ..

http://ejohn.org/blog/html-5-Data-Attributes./

あなたは間違いなくできます。HTML5は data-属性と呼ばれるものを導入しましたが、標準的な方法で非標準の属性を要素に設定できます。

data-

で属性名を単に接頭辞に付けます。
<input type="text" data-valrule="someregexstring" />
.

これはHTML5で導入されていますが、HTML4のドキュメントで使用することもできます。


jQuery(1.4.3以降)を使用すると、 data-属性に .Data() - またはvia .attr()

私は個人的にはそうしないでしょう。HTMLを解析するときに「既存の」属性を無視します。したがって、これらの属性はブラウザページDOMに保存されません。jQueryセレクタが実行されると、この属性が見つからない場合があります。

HTML5準拠のブラウザで実行することが保証されている場合は、属性のHTML5 data-プレフィックス、e.

を使用できます。
<input type="text" data-valrule="someregexstring" />
.

しかし、これは古いブラウザで実行されている場合、これは機能しない場合があります。たとえば、クライアントのほぼ半数がIE7を使用していることは、アップグレードする予定はありません(政府のスピードで移動)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top