質問
私がチェック入力の正規表現にマッチしたクラスの名前を取得しようとしている。
私はこれを持っている場合:
<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');
所属していません StackOverflow