일련의 라디오 버튼과 체크 상자에 일반 클래스 (.is-checked와 같은 것)를 추가/제거해야합니다. 여기 내가 가지고있는 코드입니다 :jQuery. 라디오 버튼에 클래스 추가/제거 - 작동하지 않음
$(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');
}
})
})
})
이 체크 박스에 완벽하게 작동하지만, 라디오 버튼에 추가됩니다 클래스에 결코 제거되지됩니다. 생각? 아이디어?
편집 실수로이 스크립트는 조건부로부터 IE8로드 될 것이라고 언급 무시 '확인'의사 선택이 지원되지 않습니다. 전체 기능은 IE8을 제외한 모든 기능을 완벽하게 지원하므로 브라우저와 가난한 사용자가이 기능을 사용하지 못하게합니다. 결국, 'is-checked'클래스는 : checked selector와 동일한 CSS를 트리거합니다.
$('input[type="checkbox"], input[type="radio"]').on('click', function() {
$(this).parent().wrap('<div>').unwrap();
if (this.checked) {
$(this).addClass('is-checked');
} else {
$(this).removeClass('is-checked');
}
});
유 $ (이) CSTE 연구진은'사용하는 이유 (기능 '을 클릭'() {'당신'each'은? u는 자세히 설명 할 수 있습니까? – krishgopinath
귀하의 코드는 나를 위해 작동하는 것 같다에서. http://jsfiddle.net/xzNPh/ –
@WillemEllis는 jquery 버전의 차이 일 수 있습니다 (1.6이라고 생각하여'attr'과 – sgroves