我有一张简单的桌子:
<table>
<tr>
<td>ID</td>
<td><a href="http:link" class="btn btn-default" data-action="view"
data-id="44">View</a>
</td>
</tr>
</table>
我想在点击后获得我尝试过的数据操作和数据ID
$('#visit-list-table tr').on('click', function() {
var test = $(this).closest("tr");
console.log(test[0].data('id'));
var test = $(this).closest("tr").find('a').attr('id');
console.log(test);
});
但没有结果。如何获取这些数据?
答案 0 :(得分:2)
检查以下代码段。 您应该使用数据属性,如
$(this).closest("tr").find('a').data('id')
或
$(this).closest("tr").find('a').attr('data-id')
两者都会给出相同的结果。 然后我在表中添加了ID“访问列表表”。
$('#visit-list-table tr').on('click', function() {
var test = $(this).closest("tr").find('a').data('id');
console.log(test);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="visit-list-table">
<tr>
<td>ID</td>
<td><a href="http:link" class="btn btn-default" data-action="view"
data-id="44">View</a>
</td>
</tr>
</table>
答案 1 :(得分:0)
向元素添加ID #visit-list-table
。并且您可以在$(this).find('a').attr('data-id');
处执行attr('data-id')
而不是attr('id'),因为带有id
的标记中没有属性
$('#visit-list-table tr').on('click', function() {
var test = $(this).find('a').attr('data-id');
console.log(test);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="visit-list-table">
<tr>
<td>ID</td>
<td><a class="btn btn-default" data-action="view"
data-id="44">View</a>
</td>
</tr>
</table>