Last-child просто говорит вам, что элемент является последним дочерним элементом родителя, а не последним в группе, сопоставленной предыдущим селектором.Ни один из tr.visible
s не является последним дочерним элементом тега table
.Чтобы получить последний видимый tr, попробуйте вместо этого:
$('tr.visible').last ();
Вот для чего нужен «последний» метод:)