Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.09.2010, 09:59
Новичок на форуме
Отправить личное сообщение для slavazav Посмотреть профиль Найти все сообщения от slavazav
 
Регистрация: 14.09.2010
Сообщений: 5

Изменение цвета строки таблицы.
Народ помогите разобраться с функцией.
Суть в том что есть таблица со строками, цвет которых задается стилем.
надо чтобы цвет первой строки таблицы задавался в зависимости от цвета последующих строк при загрузке таблицы

вот пример таблицы:

<table onload=requred_func();>
<tr style=background-color:#00ff00><td>0000000000</td></tr>
<tr style=background-color:#00ff00><td>1111111111</td></tr>
<tr style=background-color:#00ff00><td>2222222222</td></tr>
<tr style=background-color:#ff0000><td>3333333333</td></tr>
<tr style=background-color:#00ff00><td>4444444444</td></tr>
<tr style=background-color:#00ff00><td>5555555555</td></tr>
</table>

т.е. надо чтобы просматривались строки со значением от 1 до 5 и в зависимости от их цвета выставлялся цвет для строки 0

вопрос куда копать....
Ответить с цитированием
  #2 (permalink)  
Старый 14.09.2010, 10:07
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

а вы начните копать хотя бы куда-нибудь. Вы сами отвечаете на свой вопрос, проверяете значения у всех строк таблицы и исходя из их значения меняете значение определённой строки.

Я не вижу в этом проблемы.

И кстати значения атрибута пишут в кавычках, что бы не возникало никаких проблем.
__________________
.
Ответить с цитированием
  #3 (permalink)  
Старый 14.09.2010, 10:31
Новичок на форуме
Отправить личное сообщение для slavazav Посмотреть профиль Найти все сообщения от slavazav
 
Регистрация: 14.09.2010
Сообщений: 5

вот что то накопал, тока что то не работает

function requred_func(obj){
for(var j=1;j<obj.childNodes.length;j++){

if(obj.childNodes[j].style.background-color=='#ff0000'){
obj.childNodes[1].style.background-color='#ff0000';
break;
}
else{
obj.childNodes[1].style.display='#00ff00';

}
}
}

<table onload=requred_func(this);>

Последний раз редактировалось slavazav, 14.09.2010 в 10:36.
Ответить с цитированием
  #4 (permalink)  
Старый 14.09.2010, 11:07
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

slavazav, как формируется табличка? Каким-то серверным языком?
Ответить с цитированием
  #5 (permalink)  
Старый 14.09.2010, 11:11
Новичок на форуме
Отправить личное сообщение для slavazav Посмотреть профиль Найти все сообщения от slavazav
 
Регистрация: 14.09.2010
Сообщений: 5

ksa,
да, формируется на Java
но особенность в том что таблица дописывается построчно в файл..
и как следствие первая строка задается раньше чем появляются последующие.
поэтому решил обрабатывать это на клиентской стороне
Ответить с цитированием
  #6 (permalink)  
Старый 14.09.2010, 11:19
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

slavazav, у тебя куча ошибок!!! Не нужно плакаться, научись находить ошибки сам. Иначе всю жизнь будешь на форум вопросы задавать. И так, ошибки:
Во-первых, не рекомендую использовать childNodes. Наплодишь ошибок, и к гадалке не ходи. Собственно, у тебя obj.childNodes вовсе не ведет на <tr>.
Во-вторых, стиль background-color в js пишется backgroundColor.
Что делать:
Переходи на
document.getElementsByTagName('tr')

И перебирать в цикле их.
И еще, не уверен, что onload на таблице - хорошая идея..
Ответить с цитированием
  #7 (permalink)  
Старый 14.09.2010, 11:30
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Сообщение от slavazav
решил обрабатывать это на клиентской стороне
Очень сомнительное решение... На серверной СУБД гораздо удобнее обрабатывать данные, а клиенту выдавать уже готовый вариант.

А тут придется бегать по таблице, вычитывать какие-то значения из хтмл-разметки, как-то это все анализировать...

Может таки передумаешь?
Ответить с цитированием
  #8 (permalink)  
Старый 14.09.2010, 12:05
Новичок на форуме
Отправить личное сообщение для slavazav Посмотреть профиль Найти все сообщения от slavazav
 
Регистрация: 14.09.2010
Сообщений: 5

написал следующую функцию.

function requred_func(){
for(var i=0;i<document.getElementsByTagName('table').lengt h;i++){
for(var j=1;j<document.getElementsByTagName('table')[i].getElementsByTagName('tr').length;j++){
if(document.getElementsByTagName('table')[i].getElementsByTagName('tr')[j].style.backgroundColor=='#ff0000'){
document.getElementsByTagName('table')[i].getElementsByTagName('tr')[0].style.backgroundColor='#ff0000';
break;
}
else {
document.getElementsByTagName('table')[i].getElementsByTagName('tr')[0].style.backgroundColor='#00ff00';
}
}
}

}


но в FF она почему то не работает, хотя в IE все норм
Ответить с цитированием
  #9 (permalink)  
Старый 14.09.2010, 12:14
Новичок на форуме
Отправить личное сообщение для slavazav Посмотреть профиль Найти все сообщения от slavazav
 
Регистрация: 14.09.2010
Сообщений: 5

ksa,
Сообщение от ksa
На серверной СУБД гораздо удобнее обрабатывать данные
СУБД нету. строки таблицы формируются в зависимости от поведения некоторой системы
Ответить с цитированием
  #10 (permalink)  
Старый 14.09.2010, 12:41
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

slavazav, то, что ты делаешь - неправильно. Учти, в ie цвета - это #ff0000, а в ff - rgb(255, 0, 0). Соответственно, очевидно, что '#ff0000'!='rgb(255, 0, 0)'. Используй class, или еще что..
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамическое изменение background-a в ячейках таблицы Gh0stik Events/DOM/Window 15 02.08.2012 19:40
Как вложено прятать строки таблицы? Бобр Общие вопросы Javascript 10 01.08.2010 13:57
Изменение цвета конпки при наведении MUALIQ Events/DOM/Window 1 10.03.2010 12:16
изменение цвета фона alina Общие вопросы Javascript 1 27.12.2009 17:23
Изменение цвета ячейки (динамическая таблица) не по событию ImSWORDMASTER Элементы интерфейса 3 12.03.2009 21:21