动态创建按钮后,无法将Active类分配给按钮

时间:2017-05-15 08:42:54

标签: javascript jquery css twitter-bootstrap

我使用bootstrap创建了一个按钮选项卡。我使用循环动态制作它们。

<ul class="nav nav-tabs" style="border-bottom:0px">
   <li class="active">
      <a data-toggle="tab" class="mybtn" id=' + mapport.selected_feature_layer[i] + '>' + layer_names[i] + '</a>
   </li>
</ul>

当我为他们分配一个活跃的课程时,它对我有用。但是在我给他们分配一个课程并调用一个函数self.click($(this).attr('id'));之后,课程活动消失了,设计就消失了。的活性

为什么会这样?

 $(".mybtn").click(function(){
    self.click($(this).attr('id'));
    $('.active').removeClass('active')
    $(this).addClass('active'); 
});

1 个答案:

答案 0 :(得分:1)

您需要以不同的方式定义点击功能,以使其适用于动态添加的元素

&#13;
&#13;
$(document).on("click", ".mybtn", function(){
    //self.click($(this).attr('id'));
    $('.active').removeClass('active')
    $(this).addClass('active'); 
});
&#13;
.active {background-color:blue;}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="nav nav-tabs" style="border-bottom:0px"><li><a data-toggle="tab" class="mybtn" id='abc'>abc</a></li><li><a data-toggle="tab" class="mybtn" id='abc'>abc</a></li></ul>
&#13;
&#13;
&#13;