我正在使用JavaScript创建动态按钮。但是我无法将<li class="active">
分配给按钮onClick。我试图使用jquery分配活动类,但到目前为止还没有成功。我尝试了关于堆栈溢出的尽可能多的解决方案,但对我没有用。
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');
});
最佳答案
由于按钮是动态创建的,因此您将必须使用事件委托。
$('body').on("click",".myBtn", function(e){
$(this).addClass("active");
});
这是运行中的代码:
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");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>