既存の属性HTML入力フィールド
-
13-12-2019 - |
質問
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 ..
私は個人的にはそうしないでしょう。HTMLを解析するときに「既存の」属性を無視します。したがって、これらの属性はブラウザページDOMに保存されません。jQueryセレクタが実行されると、この属性が見つからない場合があります。
HTML5準拠のブラウザで実行することが保証されている場合は、属性のHTML5 data-
プレフィックス、e.
<input type="text" data-valrule="someregexstring" />
.
しかし、これは古いブラウザで実行されている場合、これは機能しない場合があります。たとえば、クライアントのほぼ半数がIE7を使用していることは、アップグレードする予定はありません(政府のスピードで移動)。
所属していません StackOverflow