题解 | #全选#

全选

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)
    };

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务