排他思想(算法)

如果有同一组元素,我们想要某一个元素实现某种样式,需要用到循环的排他思想:

  1. 所有的元素全部清除(首先排除其他人,再设置自己的样式)
  2. 给当前的元素设置样式
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <!-- 有三个按钮,点击一下按钮就变成粉色 -->
    <button>1</button>
    <button>2</button>
    <button>3</button>
    <script>
      //   首先获取所有的元素
      var btns = document.querySelectorAll("button");
      for (var i = 0; i < btns.length; i++) {

        btns[i].onclick = function () {
          for (var i = 0; i < btns.length; i++) {
            //   首先要将所有的元素样式清空
            btns[i].style.backgroundColor = "";
          }
        //   然后再给自己的样式
          this.style.backgroundColor = "pink";
          // 如果只用一个for循环的话就会点击下一个的时候,前面的不会清空,所以先清空,再设置自己的样式
        };
      }
    </script>
  </body>
</html>

posted @ 2022-03-17 18:55  missSherry1014  阅读(88)  评论(0)    收藏  举报