AddClass к каждому первому элементу
Здравствуйте, столкнулся со следующей проблемой...
На странице расположены три таблицы вида: <table class="my_table"> <tr> <td>Бла Бла Бла</td> </tr> <tr> ... необходимо первому элементу <tr> каждой таблицы добавить класс, к примеру: class="tr_my_style" Так вот, при следующем скрипте:
$(".my_table tr:first").addClass("tr_my_style");
проходит все успешно, но только для первой таблицы... Как распространить действие скрипта на оставшиеся? |
$(".my_table tr:first").
*!*
add(".another_table tr:first").
*/!*
addClass("tr_my_style");
|
Спасибо за ответ!
иными словами, единственный выход назначить каждой таблице уникальный класс? |
нет. где это написано ? я написал псевдокод добавления элемента в коллекцию.
а как вы будете таблицы отбирать - ваше дело ) |
Ага, но может я чего то все-таки не понимаю :(
У меня может быть от 3-х до n таблиц с классом my_table Как в таком случае добавить их в коллекцию... Я полагаю ниже это бред:
$(".my_table tr:first").
add(".my_table tr:first").
add(".my_table tr:first").
addClass("tr_my_style");
Может я еще выразился несколько некорректно: под словами назначить каждой таблице уникальный класс имел ввиду чтоб все таблицы по умолчанию имели разные классы... и если у таблиц один класс то ничего не выйдет |
если надо обойти все таблицы и взять с каждой по одной строчке, то писать можно как-то так :
// обходим все таблицы и собираем с каждой по первой строке
var res = $("table").map(function(){
// this - таблица
return $("tr:first", this);
}).get();
// res - array
// превращаем в коллекцию
res = $(res);
// и работаем с ней
res.css('tr_my_style');
|
самому было необходимо сделать такую выборку, догадался сам, как всегда все просто-
$("table").find("tr:first").css("background","#aaa "); |
дык все проще же
table tr:first-child{
background: #aaa;
}
|
| Часовой пояс GMT +3, время: 16:01. |