javascript - 仅从 DOM 中检索一个值,其中包含通过 JS 列出的 100 个数据
问题描述
当我单击“删除”按钮时,我试图只获取一个 ID,但我收到了它的整个列表。这是我尝试使用 jQuery 的方法。(欢迎使用 js 和 jquery 的解决方案)
DOM:-
<tbody>
<tr class="tablerow">
<td class="delete"> </td>
<td class="id"></td>
</tr>
</tbody>
将数据附加到 DOM(正在获取 100 个数据):-
let apiGetter = JSON.parse(localStorage.getItem('data'));
apiGetter.map((item,index) => {
del.append('<li> DELETE </li>');
id.append(`<li> ${item.id}</li>`);
}
我的解决方案列出了 DOM 中的所有id 。(我想要被点击的按钮的ID)
$('.delete').click(function() {
let id = $(this).next('.id').text();
console.log(id); // 0 1 2 3 4 5 6 ... 98 99 100
})
解决方案
遵循此代码
HTML
<table>
<thead>
<tr>
<th>ID</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td class="delete" data-id="1">Delete</td>
</tr>
<tr>
<td>2</td>
<td class="delete" data-id="2">Delete</td>
</tr>
</tbody>
<tfoot>
<tr>
<td>3</td>
<td class="delete" data-id="3">Delete</td>
</tr>
</tfoot>
</table>
jQuery
$(document).on('click','.delete',function(){
alert($(this).data('id'));
})
CSS
thead {color:green;}
tbody {color:blue;}
tfoot {color:red;}
table, th, td {
border: 1px solid black;
}
这很容易,而且会奏效。
推荐阅读
- javascript - 嵌套的 Firebase 查询 React Native 不显示结果(EXPO)
- angular - 如何根据某些条件应用角度材质样式属性?
- javascript - Javascript向后执行
- r - "pcadapt", "安装包 'bigutilsr' 的退出状态非零"
- javascript - 仅当我将鼠标悬停在 TD 上时才显示 JS 添加的链接
- oracle - 在 BI 发布者的数据模型中检索超过 200 行
- c++ - 前进时改变 FOV(视野)
- image - 在 JavaFX 中加载外部图像
- onlongclicklistener - Countinouly 减少 recylerview 适配器类中长按时的值
- r - 当“%in%”和“which”不起作用时,基于字符向量子集数据帧行