题解 | #全选#
全选
https://www.nowcoder.com/practice/84b89f326e3c4e96bacb63296e84623a
我写的代码,不符合题目引导的方向,所以通过不了测试,但是比题目要求的,更加精简,利用事件委托,不直接将事件写在input上,如果有兴趣,可以看看我的代码,谢谢。
let ul = document.querySelector('ul') let checkedCount = 0 ul.onchange = function (event) { let target = event.target if (target.id == 'all') { let inputs = document.querySelectorAll('input') for (let i = 1; i < inputs.length; i++) { let allChecked = all.checked inputs[i].checked = allChecked checkedCount = allChecked ? 5 : 0 } return } target.checked ? checkedCount++ : checkedCount-- all.checked = (checkedCount === 5) };