jqueryで使用するために、存在しない属性をhtml要素にアタッチすることをお勧めしますか?例えば
<input type="text" valrule="someregexstring" />
次に、jqueryを使用して、valruleという属性を含むすべての要素を選択し、正規表現文字列を解析します。
プログラミング標準とベストプラクティスに関する限り、これは「ノーゴー」ですか?
jqueryで使用するために、存在しない属性をhtml要素にアタッチすることをお勧めしますか?例えば
<input type="text" valrule="someregexstring" />
次に、jqueryを使用して、valruleという属性を含むすべての要素を選択し、正規表現文字列を解析します。
プログラミング標準とベストプラクティスに関する限り、これは「ノーゴー」ですか?
プレフィックスを使用する必要がありますdata-<myAttribute>
。HTML5でサポートされており、他のブラウザはそれを無視し、メソッドを使用してjQueryで簡単にアクセスできます.data()
。
<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" />
その有効なHTML5。
私は個人的にはそうしません。一部のブラウザは、HTMLを解析するときに「存在しない」属性を無視するため、これらの属性はブラウザページのDOMに保存されません。jQueryセレクターを実行すると、この属性が見つからない場合があります。
HTML5準拠のブラウザでの実行が保証されている場合はdata-
、属性にHTML5プレフィックスを使用できます。
<input type="text" data-valrule="someregexstring" />
ただし、古いブラウザで実行している場合は、これでも機能しない可能性があります。たとえば、クライアントのほぼ半数がIE7を使用しており、アップグレードの計画はありません(政府のスピードで動いています)。