Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Принадлежность к цвету, "red", "yellow", а не "blablabla" (https://javascript.ru/forum/misc/1726-prinadlezhnost-k-cvetu-red-yellow-ne-blablabla.html)

Rockie 08.09.2008 11:43

Принадлежность к цвету, "red", "yellow", а не "blablabla"
 
Здравствуйте! как определить сабж? Раскрашиваю ячейки таблицы соответсвенно названиям цветов в других ячейках. В них могут быть разные текстовые значения, и не всегда это название цвета. как понимаю, при выполнении такого
myTable.firstChild.childNodes[i].childNodes[0].style.backgroundColor = "blalala";

получу эксепшн. Как убедиться, является ли текстовое значение цветом?

ZoNT 08.09.2008 11:45

только сравнивать со списком возможных значений.

Kolyaj 08.09.2008 12:06

Ну если эксепшн и правда кидается (я не пробовал), то ловить его, и говорить, что нифига не цвет.

ZoNT 08.09.2008 12:13

ловить эксепшны - не есть гуд. Надо программировать так, чтобы они не валились...

Kolyaj 08.09.2008 12:15

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

С эксепшном будет 2 строчки и работать со всеми возможными цветами, а со списком цветов текста дофига и вполне возможно, что что-то забыли.

Андрей Параничев 08.09.2008 15:27

Цитата:

Сообщение от ZoNT
ловить эксепшны - не есть гуд. Надо программировать так, чтобы они не валились...

*Сидит с открытым ртом* Услоные ветвления - не есть гуд. Надо программировать так, чтоб выполнялось только нужное условие.

Rockie 08.09.2008 16:02

Спасибо всем за оперативные ответы!
Сделал так:
for(var i=0;i<numRows;i++)
        {
              try
              {
                myTable.firstChild.childNodes[i].childNodes[0].style.backgroundColor = myTable.firstChild.childNodes[i].childNodes[2].innerText;
              }
              catch(ex)
              {
                // заглушка
              }
        }


Часовой пояс GMT +3, время: 15:16.