Как я могу получить атрибут data последней строки таблицы?
<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, а только содержимое последней строки таблицы, используя:
$data = $("#tableNotifications").last().data("notification-timestamp");
Возможно, я делаю глупую ошибку, но это сводит меня с ума.
Спасибо.
PS Я знаю, что я мог бы добавить некоторые уникальные идентификаторы, а затем получить данные с помощью
$data = $(uniqueid).data("notification-timestamp");
но я бы хотел этого избежать.
Вы хотите получить значение атрибута data tr
, а не самого tbody
:
$("#tableNotifications > tr:last-child").data("notification-timestamp");
Это обнаружение последнего элемента с идентификатором "tableNotifications". Просто добавьте tr
в свой селектор, чтобы получить последнюю строку:
$data = $("#tableNotifications tr").last().data("notification-timestamp");
Используйте функцию attr()
:
var data = $("#tableNotifications tr:last").attr("data-notification-timestamp");
Селектор #tableNotifications tr:last
выбирает last
дочерний элемент tr
элемента с идентификатором tableNotifications
.
Также это тоже будет работать:
var data = $("#tableNotifications tr").last().attr("data-notification-timestamp");
Просто для уточнения:
Если вы просто хотите получить значение атрибута из HTML, используйте .attr("data-attr")
. Для получения дополнительной информации см. Разницу между .data()
и .attr()
.
.last()
. Он уменьшает текущий набор соответствующих элементов (<tbody>
) до последнего в соответствующем наборе (поскольку вы выбираете только один элемент, в вашем случае это фактически ничего не делает), в отличие от получения непосредственных дочерних элементов (<tr>
s) элемента (ов) в соответствующем наборе и получая только последний из них. Вы должны выбрать дочерние элементы, в которых вы заинтересованы в первую очередь, как показано в ответах ниже.