Чтобы получить количество столбцов:
var num = $("#table > tr > td").length;
Чтобы указать ширину:
$("#table > tr > td").width(w + "px");
Надеюсь, это было то, что вы искали
Edit:
Чтобы указать ширину для определенного столбца:
// если вы указали идентификатор для каждого td
$("#td1").width(td1Width+"px");
// если вы просто используете классы для их идентификации
$("td.td1", "#table1").width(td1Width+"px");
Я бы также порекомендовал вам заглянуть в find () и end () для эффективного выбора столбцов. поскольку вызов $()
является более дорогой операцией:
$("#table1").find("#td1").width(td1Width+"px").end().find("#td2")...
Редактировать 2
попробуйте вместо этого
$("table > tr > td:eq(0)").css("width", "50%");
или даже лучше
$("table > tr > td").eq(0).css("width", "50%").end()
.eq(1).css(...etc;
«таблица» выберет все таблицы на странице; используйте идентификатор или класс, чтобы определить, какая таблица вам нужна.
Редактировать 3 (окончательно !!)
Хорошо, теперь я могу видеть весь код, который могу дать лучший ответ. попробуйте это:
var num;
var $tds;
$("table").each(function(i, t) {
$tds = $("td", t);
num = $tds.length;
if (num % 4 == 0) {
$tds.eq(0).css("width", "50%").end()
.eq(1).css("width", "30%").end()
.eq(2).css("width", "10%").end()
.eq(3).css("width", "10%");
}
if (num % 3 == 0) {
//etc
}
});
Надеюсь, это лучший ответ:)