需求:ID 為 a 的復選框,用 jQuery 判斷是否被勾選。
if ($('#a').prop('checked')) {
alert('被勾選了!');
}
// 或
if ($('#a').is(':checked')) {
alert('被勾選了!');
}
.prop('checked') 返回布爾值 true/false,**直接反映當前屬性狀態**,性能最好。.is(':checked') 使用選擇器引擎匹配,**語義清晰**,兼容極舊版本。
// attr 在 1.6+ 返回屬性初始值 (HTML 屬性),不反映用戶操作後的狀態
if ($('#a').attr('checked')) { ... } // 錯誤:取消勾選後仍可能返回 "checked"
// 原生 DOM 寫法 (無需 jQuery)
if (document.getElementById('a').checked) { ... } // 最高效
// 或 jQuery 獲取原生元素
if ($('#a')[0].checked) { ... } // 提問者接受的寫法
$('#a').prop('checked', true); // 勾選
$('#a').prop('checked', false); // 取消勾選
**讀取狀態用 .prop('checked'),設置狀態用 .prop('checked', bool)。** 這是現代 jQuery 處理布爾屬性 (checked, selected, disabled, readonly) 的標準方式。