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, время: 22:05. |