我正在构建一个网站,允许用户从服务器上的文件夹下载文件。
文件从数据库
中提取并存储在HTML表
中。每一行都有一个下载按钮。我知道我不能只输入 id='download'
。
单击按钮时处理 JavaScript 函数的最佳方式是什么。
我应该设置类似download-214124
的东西
然后只需将 ("download-*")
作为 jQuery
中的选择器?
最佳答案
正如您所说,您不能对所有元素使用通用 ID,因为 ID 必须是唯一的。
相反,您可以对所有元素使用通用类,然后使用 data-*
属性来存储 id,例如
<button class="download" data-id="1235">Download</button>
然后
$('.download').click(function(){
var id = $(this).data('id');
//do download code for id here
})
注意:如果您正在处理动态元素,那么您将必须使用事件委托(delegate)来注册处理程序,例如
$(document).on('click', '.download', function() {
var id = $(this).data('id');
//do download code for id here
})
关于javascript - 处理具有相同 id 的元素点击的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32108006/