如果表中的标签为A,如何找到数据ID?

时间:2018-10-02 10:28:47

标签: javascript jquery html

我有一张简单的桌子:

<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);
});

但没有结果。如何获取这些数据?

2 个答案:

答案 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>