Я бы сделал это так:
$("table th").each(function(i, val) {
var th = $(this);
var selector = "td:nth-child(" + (i+1) + ")";
th.parent().siblings().find(selector).attr("class", th.attr("class"));
});
Используется селектор :nth-child
для эффективного получения того же <td>
в том же столбце. Однако, если вы используете элементы rowspan / colspan, он ломается.
Примечание: Вы должны добавить единицу к индексу, потому что индекс на each()
основан на нуле, но :nth-child()
на основе одного.
Кроме того, вы не можете использовать селектор :eq
в этом контексте, так как он соответствует только одному элементу.