一連のラジオ ボタンとチェックボックスでジェネリック クラス (.is-checked のようなもの) を追加/削除する必要があります。ここに私が持っているコードがあります:
$(function () {
$('input[type="checkbox"], input[type="radio"]').each(function () {
$(this).on('click', function () {
$(this).parent().wrap('<div>').unwrap();
// works great for checkboxes, but not for radios
if ($(this).prop('checked')) {
$(this).addClass('is-checked');
} else {
$(this).removeClass('is-checked');
}
})
})
})
これはチェックボックスでは完全に機能しますが、ラジオ ボタンに追加されるクラスでは決して削除されません。考え?アイデア?
編集 ':checked' 疑似セレクターがサポートされていないため、このスクリプトは条件付きで IE8 に読み込まれることを忘れていました。機能全体が IE8 以外のすべてで完全に正常に動作するため、これは IE8 の松葉杖であり、貧弱なユーザーはそれを処理することに行き詰まっています。最後に、「is-checked」クラスは、:checked セレクターと同じ CSS をトリガーします。