如何获取最后一个表行的数据属性?
<tbody id="tableNotifications">
<tr class="notificationsRowEntry success" data-notification-timestamp="1384105387"></tr>
<tr class="notificationsRowEntry success" data-notification-timestamp="1384105367"></tr>
<tr class="notificationsRowEntry success" data-notification-timestamp="1384105357"></tr>
<tr class="notificationsRowEntry success" data-notification-timestamp="1384105323"></tr>
</tbody>
问题是我无法获取数据属性,只能使用以下内容获取最后一个表行的内容:
$data = $("#tableNotifications").last().data("notification-timestamp");
也许我犯了一个愚蠢的错误,但这让我发疯了。
谢谢。
P.S。我知道我可以添加一些独特的ID然后用
获取数据 $data = $(uniqueid).data("notification-timestamp");
但我想避免这种情况。
答案 0 :(得分:3)
您希望获取tr
的数据属性的值,而不是tbody
本身:
$("#tableNotifications > tr:last-child").data("notification-timestamp");
答案 1 :(得分:2)
使用attr()
功能:
var data = $("#tableNotifications tr:last").attr("data-notification-timestamp");
选择器#tableNotifications tr:last
选择ID为last
的元素的tr
tableNotifications
子项。
这也会起作用:
var data = $("#tableNotifications tr").last().attr("data-notification-timestamp");
只是为了澄清:
如果您只想从HTML获取属性值,请使用.attr("data-attr")
。有关详细信息,请参阅the difference between .data()
and .attr()
。
答案 2 :(得分:2)
那是找到id为'tableNotifications'的最后一个元素。只需将tr
附加到您的选择器即可获取最后一行:
$data = $("#tableNotifications tr").last().data("notification-timestamp");