我正在使用服务器端技术 (JSP) 来呈现我的视图。因此,我有一个for
循环遍历列表的循环。现在,我想将单击侦听器绑定到为列表中的每个项目呈现的按钮。点击监听器中的代码需要item ID,我不明白如何传递给JavaScript代码。
我也使用requirejs
, 如果这对解决方案很重要。
我正在使用服务器端技术 (JSP) 来呈现我的视图。因此,我有一个for
循环遍历列表的循环。现在,我想将单击侦听器绑定到为列表中的每个项目呈现的按钮。点击监听器中的代码需要item ID,我不明白如何传递给JavaScript代码。
我也使用requirejs
, 如果这对解决方案很重要。
也许您只是不需要将 html ID 传递给您的 javascript。您可以使用 css 类来检索 DOM 中的按钮。javascript 代码取决于您使用的框架。
在本机 javascript 中,您可以像这样检索按钮:
var buttons = document.querySelectorAll('button.my_class');
换成my_class
你想要的就行了。
您可以通过执行以下操作访问按钮 ID:
var button_id = buttons[0].id
如果要将项目 ID 附加到按钮,可以使用data
属性。例如 :
<button id="my_button" data-id="item_id" />
在javascript中,您可以data_id
像这样访问:
var item_id = buttons[0].getAttribute('data-id');
在大多数事件处理程序中,this
是触发事件的 DOM 节点,所以类似这样的工作:
button.onclick = function() {
alert(this.id);
}
这是现场示例 如果您使用的是 jQuery 和 requirejs,这将是这样的:
require(['jQuery'], function ($) {
$('.container_element').on('click', '.button_class', function () {
console.log('You have clicked button with id ', $(this).attr('id'));
})
})