题解 | #全选#
全选
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)
};

腾讯云智研发成长空间 5084人发布