Это не ошибка, но это определенно сбивает с толку.Что даст вам ожидаемый результат:
$('table td:nth-child(3) a')
В то время как: nth-child и: eq кажутся очень похожими, поведение может сильно отличаться, как видно из ожидаемого результата.
Документацию по jQuery можно найти здесь .В нем говорится:
Псевдокласс: nth-child (n) легко спутать с: eq (n), даже если эти два могут привести к совершенно разным сопоставляемым элементам.С помощью: nth-child (n) подсчитываются все дочерние элементы независимо от того, кем они являются, и указанный элемент выбирается, только если он соответствует селектору, прикрепленному к псевдоклассу.С помощью: eq (n) подсчитывается только селектор, присоединенный к псевдоклассу, не ограничиваясь потомками любого другого элемента, и выбирается n-й.
Другими словами, eq (2) выберет третий элемент в наборе результатов while, тогда как: nth-child (3) выберет 3 потомка своего родителя.И в этом случае родитель будет его tr.