Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.09.2011, 23:02
Аспирант
Отправить личное сообщение для myocean Посмотреть профиль Найти все сообщения от myocean
 
Регистрация: 25.07.2011
Сообщений: 47

AddClass к каждому первому элементу
Здравствуйте, столкнулся со следующей проблемой...

На странице расположены три таблицы вида:

<table class="my_table">
<tr>
<td>Бла Бла Бла</td>
</tr>
<tr>
...


необходимо первому элементу <tr> каждой таблицы добавить класс, к примеру:

class="tr_my_style"

Так вот, при следующем скрипте:
$(".my_table tr:first").addClass("tr_my_style");


проходит все успешно, но только для первой таблицы...
Как распространить действие скрипта на оставшиеся?
Ответить с цитированием
  #2 (permalink)  
Старый 22.09.2011, 23:05
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

$(".my_table tr:first").
*!*
           add(".another_table tr:first").
*/!*
           addClass("tr_my_style");
Ответить с цитированием
  #3 (permalink)  
Старый 22.09.2011, 23:16
Аспирант
Отправить личное сообщение для myocean Посмотреть профиль Найти все сообщения от myocean
 
Регистрация: 25.07.2011
Сообщений: 47

Спасибо за ответ!
иными словами, единственный выход назначить каждой таблице уникальный класс?

Последний раз редактировалось myocean, 22.09.2011 в 23:19.
Ответить с цитированием
  #4 (permalink)  
Старый 22.09.2011, 23:37
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

нет. где это написано ? я написал псевдокод добавления элемента в коллекцию.


а как вы будете таблицы отбирать - ваше дело )
Ответить с цитированием
  #5 (permalink)  
Старый 22.09.2011, 23:41
Аспирант
Отправить личное сообщение для myocean Посмотреть профиль Найти все сообщения от myocean
 
Регистрация: 25.07.2011
Сообщений: 47

Ага, но может я чего то все-таки не понимаю
У меня может быть от 3-х до n таблиц с классом my_table
Как в таком случае добавить их в коллекцию...
Я полагаю ниже это бред:


$(".my_table tr:first").
  add(".my_table tr:first").
  add(".my_table tr:first").
  addClass("tr_my_style");


Может я еще выразился несколько некорректно:
под словами назначить каждой таблице уникальный класс имел ввиду чтоб все таблицы по умолчанию имели разные классы... и если у таблиц один класс то ничего не выйдет

Последний раз редактировалось myocean, 22.09.2011 в 23:45.
Ответить с цитированием
  #6 (permalink)  
Старый 23.09.2011, 03:11
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

если надо обойти все таблицы и взять с каждой по одной строчке, то писать можно как-то так :

// обходим все таблицы и собираем с каждой по первой строке
var res = $("table").map(function(){  
    // this - таблица
    return $("tr:first", this);
}).get();

// res - array
// превращаем в коллекцию
res = $(res);

// и работаем с ней
res.css('tr_my_style');
Ответить с цитированием
  #7 (permalink)  
Старый 03.02.2013, 14:22
Новичок на форуме
Отправить личное сообщение для sintet Посмотреть профиль Найти все сообщения от sintet
 
Регистрация: 21.12.2010
Сообщений: 4

самому было необходимо сделать такую выборку, догадался сам, как всегда все просто-
$("table").find("tr:first").css("background","#aaa ");
Ответить с цитированием
  #8 (permalink)  
Старый 03.02.2013, 14:44
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

дык все проще же
table tr:first-child{
    background: #aaa;
}
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обращение к элементу внутри метода .ajax() roma86 jQuery 2 19.03.2010 21:52
обратиться к элементу формы, заданному переменной Andrej_2 Элементы интерфейса 4 15.05.2009 09:18