classList用法

<!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>classList</title>
        <style type="text/css">
            .box{
                width: 100px;
                height: 100px;
                margin: 10px 0;
                background-color: blue;
            }
            .red{
                background-color: red;
            }
        </style>
    </head>
    <body>
        <div class="box"></div>
        <div class="box"></div>
        <script type="text/javascript">
      /*classList:获取class列表属性
        length class的长度
        add() 添加class方法
        remove() 删除class方法
        toggle() 切换class方法
      */
var box = document.querySelectorAll('.box'); /*for (var i = 0; i < box.length; i++) { box[i].isChecked = false; box[i].onclick = function () { if (this.isChecked) { this.className = 'box'; } else { this.className = 'box red'; } this.isChecked = !this.isChecked; } }*/ /*for (var i = 0; i < box.length; i++) { box[i].isChecked = false; box[i].onclick = function () { console.dir(this); if (this.isChecked) { this.classList.remove('red'); } else { this.classList.add('red'); } this.isChecked = !this.isChecked; } }*/ // 三目写法 for (var i = 0; i < box.length; i++) { box[i].isChecked = false; box[i].onclick = function () { console.dir(this); /*if (this.isChecked) { this.classList.remove('red'); } else { this.classList.add('red'); }*/ // this.isChecked ? this.classList.remove('red') : this.classList.add('red'); this.classList[this.isChecked?'remove':'add']('red'); this.isChecked = !this.isChecked; } } </script> </body> </html>
原文地址:https://www.cnblogs.com/jianglibaizhi/p/10573432.html