首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

jQuery 判斷復選框是否勾選:.prop('checked') 與 .is(':checked') 正確用法

     編輯:程式設計綜合問答

需求:ID 為 a 的復選框,用 jQuery 判斷是否被勾選。

推薦寫法 (jQuery 1.6+)


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) 的標準方式。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved