0

addClass() のように機能するが、dom className 属性とは異なるもので機能する jQuery のより一般的な関数があるのだろうか。

次のような検証ルールのラベルを格納するデータ フィールドがあります。

<input data-validation="required number positive">,

異なるタイプの検証を指定する各ラベル。次のように検証ラベルを変更できるようにしたいと思います。

$('input').addToken('data-validation', 'date future_date'); // two rules added here

また

$('input').removeToken('data-validation', 'required');

これまでの私の最善の解決策は、 $.fn._addClass を取得して新しい関数にコピーすることですが、可能であれば車輪を再発明したくありません。

同様の方向で、私が知る限り、CSS2 には特別な属性セレクターがあり、className だけでなく、この種のスペースで区切られた値に対して機能します。

E[foo~="warning"] "foo" 属性値がスペースで区切られた値のリストであり、そのうちの 1 つが "warning" と正確に等しい E 要素に一致します。

PS。たぶん、私より評判の高い人が「スペース区切り値」というタグを付けてくれるかもしれませんが、これは便利なタグになると思います。ありがとうございました。

4

1 に答える 1

0

jQueryは、要素で定義されたdata()すべてにアクセスできるようにする機能を提供しdata-*ます。したがって、次のことができます。

//set value
$('input').data('validation','date future_date');

//get values
var validations = $('input').data('validation');
于 2013-06-18T15:26:55.563 に答える