将javascript应用于所有按钮
我有一个动态创建的表,其中有关联的按钮。我想要一个简单的JavaScript方法,将适用于每一个按钮。现在,它只引用创建的第一个按钮将javascript应用于所有按钮,javascript,jquery,html,Javascript,Jquery,Html,我有一个动态创建的表,其中有关联的按钮。我想要一个简单的JavaScript方法,将适用于每一个按钮。现在,它只引用创建的第一个按钮 <table> <tbody> <% @task.subtasks.each do |subtask| %> <tr> <td> <button class="btn btn-default" id="collapseBtn"><span class="g
<table>
<tbody>
<% @task.subtasks.each do |subtask| %>
<tr>
<td>
<button class="btn btn-default" id="collapseBtn"><span class="glyphicon glyphicon-plus" id="collapseSpan"></button>
</td>
<td> <%= subtask.name %></td>
</tr>
<%end%>
</tbody>
</table>
<script>
$("#collapseBtn").click(function(){
$("#collapseSpan).toggleClass("glyphicon-plus glyphicon-minus");
});
</script>
$(“#collapseBtn”)。单击(函数(){
$(“#collapseSpan).toggleClass(“glyphicon加glyphicon减”);
});
我看到您正在使用jQuery。您可以使用选择jQuery中的所有按钮
$( ":button" )
而不是使用一个ID$(“#collapseBtn”)
然后在函数中使用$(this)引用它
来源:
id
属性对于html页面上的任何元素都必须是唯一的,因此您需要添加一些类来检测大量按钮。然后按该类处理按钮
$(".buttonClass").on('click', function(e){
$(this).find('span').toggleClass("glyphicon-plus glyphicon-minus");
});
如果您添加了一个类,如
collapse btn
,并尝试在类上而不是id上进行选择,该怎么办?这很好。添加了一个if语句,一切都很好。谢谢!