Предполагая, что HTML-код, который вы разместили, представляет собой одну книгу, и есть много других, похожих на нее, и вы хотите получить доступ к последним <tr>
в каждом из них, это должно работать:
$('div.book tbody tr:last-child').each(function() {
var value = $(this).find('td').eq(1).text();
});
value
будет тогда «List» с приведенным выше HTML-кодом, и если у вас есть несколько <div>
s, он будет повторяться, как и следовало ожидать до последнего <tr>
каждого из них.
Ключевым моментом здесь является то, что мы используем last-child
вместо простого last
. Документация last
говорит, что она будет соответствовать последнему выбранному элементу; мы этого не хотим. Вместо этого нам нужно то, что описывает last-child
: соответствует всем элементам, которые являются последними дочерними элементами их родителя. Это различие важно в данном конкретном случае, так как нам нужен только последний дочерний элемент конкретной таблицы, в которой мы сейчас находимся, нам не нужен последний общий результат.
Если вы хотите, чтобы последние <td>
в каждом последнем <tr>
, мы могли бы даже сделать это:
$('div.book tbody tr:last-child td:last-child').each(function() {
var value = $(this).text();
});
Этот селектор выберет каждого последнего ребенка <tr>
и выберет его соответствующего последнего ребенка <td>
. Это было бы лучше, если вам все равно, каково значение первого <td>
. Если вы это сделаете, то вы хотите использовать первый.