this:當前觸發事件的 DOM 元素(該 checkbox)。.checked:checkbox 專屬屬性,布林值,true 表示勾選,false 表示未勾選。this.checked:取得當前勾選狀態,作為實參傳遞給 checkAll。checkAll(booleanValue):函數形式參數 booleanValue 接收該布林值。
function checkAll(booleanValue) {
var checkboxes = document.getElementsByName("hobby");
for (var i = 0; i < checkboxes.length; i++) {
checkboxes[i].checked = booleanValue; // 統一設定所有子選項
}
}
用戶點擊「全選/全不選」checkbox
│
▼
onclick 觸發 → 計算 this.checked (true/false)
│
▼
呼叫 checkAll(true) 或 checkAll(false)
│
▼
迴圈將所有 name="hobby" 的 checkbox.checked 設為同樣值
直接傳常值。checkboxes[i].checked = !checkboxes[i].checked;。$('input[name="hobby"]').prop('checked', booleanValue);。getElementsByName 回傳即時 NodeList,迴圈中長度不變,安全。