我需要在一系列單選按鈕和複選框上添加/刪除泛型類(類似.is-checked)。下面是我的代碼:jQuery .prop添加/刪除單選按鈕上的類 - 不工作
$(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選擇器相同的CSS。
爲什麼ü使用'$(本)。在( '點擊',函數(){'在'each'?u能詳細點嗎? – krishgopinath
你的代碼似乎爲我工作。這兩個點擊事件都在觸發,並設置了is-checked類。http://jsfiddle.net/xzNPh/ –
@WillemEllis可能是jQuery版本的區別(認爲它是1.6改變了'attr'的行爲並且'prop') – sgroves