我有多个按钮在同一页相同的id所以基本上在具有相同id的for循环中呈现。我设置了一个点击事件处理程序Jquery,但它只触发第一个按钮。
你能建议一下吗?
您可以在控制台中看到错误,这可能是因为所有按钮的ID相同。一种解决方案是将索引附加到按钮id字符串,以便每个按钮都有唯一的id(btn1, btn2等),或者使用类代替id。
重复的id会导致HTML无效。Javascript(和jQuery)假设只有一个id,因此:
$("#yourid")
将不再搜索id。
你可以通过
转移话题$("[id=yourid]")
将找到所有元素,但这是不可取的,因为这样你的HTML仍然是无效的。更好的方法是将id
更改为class
,然后将其用作选择器。
编辑在jQuery中,你可以像这样创建一个点击事件:
$("[id=saveFavorite]").click(function() {/*...*/})
但是,即使这将工作,我建议重构你的代码,改变你的HTML通过替换每个id="saveFavorite"
到class="saveFavorite"
,这样做:
$(".saveFavorite").click(function() {/*...*/})