【发布时间】:2017-01-25 06:26:29
【问题描述】:
我有一个从数据库呈现结果的表。 因为结果是一个“矩阵”,所以标记会给出
<table>
<thead>
</thead>
<tbody>
<td>some datas inside TDs</td>
<td>Last TD<button class = 'btn-action-edit'></button></td>
</tbody>
<tbody>
<td>some datas inside TDs</td>
<td>Last TD<button class = 'btn-action-edit'></button></td>
</tbody>
<tbody>
<td>some datas inside TDs</td>
<td>Last TD<button class = 'btn-action-edit'></button></td>
</tbody>
<tfooter>
</tfooter>
</table>
对于表格中的每一行,我都有一些按钮可以执行一些操作(即“编辑”/“发布”/等)。 单击按钮时,我希望它执行一些操作。 为了实现这一点,我做了以下事情:
$('tbody:nth-child(2) .btn-action-edit').on('click', function() {
$('tbody:nth-child(2) .detail-edit').toggleClass('open');
});
$('tbody:nth-child(2) .close-edit').on('click', function() {
$('tbody:nth-child(2) .detail-edit').toggleClass('open');
});
$('tbody:nth-child(3) .btn-action-edit').on('click', function() {
$('tbody:nth-child(3) .detail-edit').toggleClass('open');
});
$('tbody:nth-child(3) .close-edit').on('click', function() {
$('tbody:nth-child(3) .detail-edit').toggleClass('open');
});
但假设我的数据库中有 50 多个条目或 1000 多个条目,那么完成这项工作将是一场噩梦
我尝试了一些:
$('table > tbody td:last-child').each(function (index) {
$(this).find('.btn-action-edit').on('click', function(e) {
e.preventDefault();
$('.detail-edit').toggleClass('open');
});
});
但它不起作用!
关于这个的任何想法;我错过了一些关于循环和/或 DOM 的东西!
谢谢
【问题讨论】:
标签: javascript jquery for-loop datatable each