質問

私がチェック入力の正規表現にマッチしたクラスの名前を取得しようとしている。

私はこれを持っている場合:

 <input type="radio" class="toggle toggle-1" />
 <input type="radio" class="toggle toggle-2" checked="checked" />
 <input type="radio" class="toggle toggle-3" />

私は「トグル2」をチェックしたクラスであることを知りたい。

 $('.toggle:checked').className.match(/toggle\-.+?\b/);

しかし、その生成エラーを 'classNameが定義されていない'。

私は私の問題は、私はjQueryオブジェクトに対するクラス名を使用しているということだと思います。しかし、私は選択肢が何であるか本当にわかりません。

役に立ちましたか?

解決

あなたが必要とする要素上の任意の根本的な属性を取得するためのattrメソッドを呼び出すことができます。

$('.toggle:checked').attr('class').match(/toggle\-.+?\b/); 

他のヒント

クラス名は、標準のDOMのメンバーではなく、jQueryのラッパープロパティです。 $('something')[0].classNameやjQueryの$('something').attr('class')のいずれかを介してアクセスは、しかし、あなたがそれらを混在させることはできません。

あなたは共有radioことなく、複数のname秒を持っているように見えますか?それは、彼らがすべてのAST個別にチェック可能なフィールドを行動するだろう、動作しません。一緒に属するすべてのradioコントロールが同じname(しかし異なるvalue s)を持っている必要がありますし、同じフォーム内に配置されます。

あなたはjQueryのを見て?あるすべての項目にIDが必要しないでください。

$('.toggle:checked').hasClass('toggle-2');
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top