代码之家  ›  专栏  ›  技术社区  ›  Alexander Prisazhny

检查对象是否具有名称中包含特定数字的类

  •  1
  • Alexander Prisazhny  · 技术社区  · 9 年前

    <div class="obj obj1">Object 1</div>
    <div class="obj obj2">Object 2</div>
    <div class="obj obj3">Object 3</div>
    <div class="output"></div>
    

    和JavaScript:

    function whichObject($obj) {
    for (i = 0; i < 3; i++) {
      switch($obj.hasClass("obj" + (i+1).toString())) {
        case "obj1":
          $(".output").text("Object 1");
          break;
       case "obj2":
          $(".output").text("Object 2");
          break;
       case "obj3":
          $(".output").text("Object 3");
          break;
       }
    }
    
    $(".obj").on("click", function () {
       whichObject($(this));
    });
    

    2 回复  |  直到 9 年前
        1
  •  2
  •   Taplar    9 年前

    $('.obj').on('click', function(e){
      $('.output').text(e.target.innerHTML);
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <div class="obj obj1">Object 1</div>
    <div class="obj obj2">Object 2</div>
    <div class="obj obj3">Object 3</div>
    <div class="output"></div>
        2
  •  -1
  •   Alexander Prisazhny    9 年前

    如果有人感兴趣,我可以这样解决:

    function whichObject(obj) {
      var $obj = $(obj);
      if ($obj.attr("id") === "obj1") {
        $(".output").text("Object 1");
      } else if ($obj.attr("id") === "obj2") {
        $(".output").text("Object 2");
      } else if ($obj.attr("id") === "obj3") {
        $(".output").text("Object 3");
      } 
    }
    
    $(".obj").on("click", function () {
    whichObject(this);
    });
    

    将以下ID添加到我的HTML时:

    <div class="obj" id="obj1">Object 1</div>
    <div class="obj" id="obj2">Object 2</div>
    <div class="obj" id="obj3">Object 3</div>
    <div class="output"></div>