繁体   English   中英

单击更改div的类名称

[英]Change the name of class of div on click

我写了下面的代码行

        $(document).ready(function()
        {

           $('.btn-custom').click(function() { 
              var id = $(this).attr('id');
              $('.btn-custom').addClass('.btn-custom-primary');
              $("#"+id).addClass('btn-custom-selected');
           });
           ...
         });

这些自定义按钮的html在浏览器中呈现为

      <div id="rooms-information" class="form-group">
      <div id="3ccd3803-a8ba-0328-cf9d-28bb72abbcae" class="btn-custom btn-custom-primary col-md-4 room-no-6"><div class="room-info-section"><span>Room No.: 6</span><br><span id="room0">Deluxe</span></div><div class="capacity-info"><span>Total Capacity: 8</span><br><span>Available: 8</span></div></div>
      <div id="4908ec27-b2ca-7bf7-de3d-83181d5c41a6" class="btn-custom btn-custom-primary col-md-4 room-no-1"><div class="room-info-section"><span>Room No.: 1</span><br><span id="room1">Deluxe</span></div><div class="capacity-info"><span>Total Capacity: 4</span><br><span>Available: 4</span></div></div>
      <div id="531709a7-6bc2-ddbe-3f3d-1642b7d70929" class="btn-custom btn-custom-primary col-md-4 room-no-3"><div class="room-info-section"><span>Room No.: 3</span><br><span id="room2">Simple</span></div><div class="capacity-info"><span>Total Capacity: 4</span><br><span>Available: 4</span></div></div>
      <div id="cac24d40-0e85-6707-9797-5f9f3449ecf8" class="btn-custom btn-custom-primary col-md-4 room-no-4"><div class="room-info-section"><span>Room No.: 4</span><br><span id="room3">Deluxe</span></div><div class="capacity-info"><span>Total Capacity: 6</span><br><span>Available: 6</span></div></div>
      </div>

我想更改被选中或单击的div的类名称,并且div的其余部分应包含原始类“ btn-custom-primary”。 上面的代码不起作用...请帮助!!!

这是你想要的吗?

$(document).ready(function() {
  $('.btn-custom').click(function() { 
    console.log("test");
    var id = $(this).attr('id');
    $('.btn-custom').removeClass('btn-custom-selected').addClass("btn-custom-primary");
    $(this).removeClass("btn-custom-primary").addClass('btn-custom-selected');
  });
});

演示

 $(document).ready(function() { $('.btn-custom').click(function() { var id = $(this).attr('id'); $('.btn-custom').removeClass('btn-custom-selected').addClass("btn-custom-primary"); $(this).removeClass("btn-custom-primary").addClass('btn-custom-selected'); }); }); 
 .btn-custom-selected { color: blue } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="rooms-information" class="form-group"> <div id="3ccd3803-a8ba-0328-cf9d-28bb72abbcae" class="btn-custom btn-custom-primary col-md-4 room-no-6"> <div class="room-info-section"><span>Room No.: 6</span><br><span id="room0">Deluxe</span></div> <div class="capacity-info"><span>Total Capacity: 8</span><br><span>Available: 8</span></div> </div> <div id="4908ec27-b2ca-7bf7-de3d-83181d5c41a6" class="btn-custom btn-custom-primary col-md-4 room-no-1"> <div class="room-info-section"><span>Room No.: 1</span><br><span id="room1">Deluxe</span></div> <div class="capacity-info"><span>Total Capacity: 4</span><br><span>Available: 4</span></div> </div> <div id="531709a7-6bc2-ddbe-3f3d-1642b7d70929" class="btn-custom btn-custom-primary col-md-4 room-no-3"> <div class="room-info-section"><span>Room No.: 3</span><br><span id="room2">Simple</span></div> <div class="capacity-info"><span>Total Capacity: 4</span><br><span>Available: 4</span></div> </div> <div id="cac24d40-0e85-6707-9797-5f9f3449ecf8" class="btn-custom btn-custom-primary col-md-4 room-no-4"> <div class="room-info-section"><span>Room No.: 4</span><br><span id="room3">Deluxe</span></div> <div class="capacity-info"><span>Total Capacity: 6</span><br><span>Available: 6</span></div> </div> </div> 

您所做的远远超出了要求。 当单击某个元素时,您将在jQuery的处理函数中使用$(this)对其进行引用。 在这里,您只需为特定的clicked元素添加所需的任何类。

所有其他div已经具有btn-custom-primary 因此您无需第二次添加

$('.btn-custom').click(function() {
     $(this).removeClass('btn-custom-primary').addClass('btn-custom-selected');
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM