为什么“.id”方法在这个jQuery代码中不起作用?

时间:2017-05-09 17:33:18

标签: jquery

我有以下内容:

var thisTable = $(this).closest('table').id;

Firebug显示:

$(this).closest('table').id -> Undefined

但是,以下方法确实有效:

$(this).closest('table').attr('id')  -> "myTable"
$(this).closest('table').prop('id')  -> "myTable"

jQuery的选择器之后是否支持.id方法,如.closest?

1 个答案:

答案 0 :(得分:4)

.id不是方法,而是属性。 js没有它,js有。因此,您需要$(this).closest('table')[0]来获取js对象,而不是$(this).closest('table')[0].id

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="id-of-tbl">
  <tr>
    <td><button onClick="console.log($(this).closest('table')[0].id)">Get ID</button></td>
  </tr>
</table>