按下按钮后为div onclick着色

coloring divs onclick after button pressed

我有以下内容:

$(function() {
  var b = $("#btn");
  var a = $(".a");
  var c = $(".c");
  var e = $(".e");
  var g = $(".g");

  b.click(function() {
    a.click(function() {
      var cls = this.className;
      var clss = cls.slice(-1);

      switch (clss) {
        case "c":
          $(this).css({
            "background-color": "red"
          });
          break;
        case "e":
          $(this).css({
            "background-color": "green"
          });
          break;
        case "g":
          $(this).css({
            "background-color": "blue"
          });
          break;
      }
    });
  });
});
.a {
  background-color: yellow;
  border: 1px black solid;
}
<div class="a c">1</div>
<div class="a c">2</div>
<div class="a e">3</div>
<div class="a e">4</div>
<div class="a g">5</div>
<div class="a g">6</div>
<input type="button" value="button" id="btn">

此代码假设执行以下操作: 单击 .a 时,单击 #btn 后,它应该获取第二个变量和颜色:

但这根本没有发生。请帮助我理解并解决我的代码。

谢谢。

它按预期工作,唯一的问题是您的代码段中缺少 jQuery 库

$(function() {
  var b = $("#btn");
  var a = $(".a");

  function color() {

  }
  b.click(function() {
    a.click(function() {
      var cls = this.className;
      var clss = cls.slice(-1);

      switch (clss) {
        case "c":
          $(this).css({
            "background-color": "red"
          });
          break;
        case "e":
          $(this).css({
            "background-color": "green"
          });
          break;
        case "g":
          $(this).css({
            "background-color": "blue"
          });
          break;
      }
    });
  });
});
.a {
  background-color: yellow;
  border: 1px black solid;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="a c">1</div>
<div class="a c">2</div>
<div class="a e">3</div>
<div class="a e">4</div>
<div class="a g">5</div>
<div class="a g">6</div>
<input type="button" value="button" id="btn">