咱也不知道为啥运行不了。。

本题考点: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>