将活动类分配给使用For循环创建的Clicked按钮

时间:2017-05-11 19:20:23

标签: javascript jquery css twitter-bootstrap

我正在使用javascript创建动态按钮。但我无法将<li class="active">分配给按钮onClick。我尝试使用jquery分配活动类但到目前为止还没有工作。因为我无法使用ID应用事件处理操作任何使用javascript或jquery的好解决方案?我尝试了几乎尽可能在Stack溢出时给出的解决方案,但对我来说并不起作用。

for (var i = 0; i <feature_layer.length ; i++) {
<ul class="nav nav-pills"><a data-toggle="pill" class="mybtn"  style="margin:25px;"  id=' + mapport.selected_feature_layer[i] + '>' + layer_names[i] + '</a></li></ul>';
}
$('.mybtn').click(function() {
    var selected_id =$(this).attr('id');

});

1 个答案:

答案 0 :(得分:0)

由于按钮是动态创建的,因此您必须使用事件委派。

$('body').on("click",".myBtn", function(e){
  $(this).addClass("active");
});

以下是行动中的代码:

&#13;
&#13;
var btn = document.createElement("button");
btn.innerHTML = 'this is a button';
btn.className = 'myBtn';
document.body.appendChild(btn);

$('body').on("click",".myBtn", function(e){
  $(this).addClass("active").text("active");
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
&#13;
&#13;