题解 | #全选#
全选
https://www.nowcoder.com/practice/84b89f326e3c4e96bacb63296e84623a
咱也不知道为啥运行不了。。
本题考点:Array.from、every
Array.from 将类数组转成真正的数组,才能遍历
every 全部选中返回true,只要有1个不选中则返回false,刚好满足该题条件。
<script>
const oAll = document.getElementById('all')
const items = Array.from(document.getElementsByClassName('item'))
items.forEach((item) => {
item.onchange = () => {
// 检查是否"全选"或"全不选"
return oAll.checked = items.every(n => n.checked)
}
})
// 全选/全不选
oAll.onchange = () => {
items.forEach(item => {
item.checked = oAll.checked
})
}
</script>