Показать сообщение отдельно
  #1 (permalink)  
Старый 14.10.2012, 18:24
Новичок на форуме
Отправить личное сообщение для Аня C Посмотреть профиль Найти все сообщения от Аня C
 
Регистрация: 25.09.2012
Сообщений: 5

Как работать с css свойствами?
У меня есть див, у дива есть класс, у класса есть свойства. Хочу, чтобы по нажатию на див свойство color класса перезагружалось. То есть был у меня, попустим, белый див, по нажатию этот конкретный див становится чёрным. А не белый див - менял цвет, допустим, на зелёный. А остальные дивы этого же класса оставались как есть. Всё бы ничего - дивы прекрасно меняют цвет. Да только изначально у дивов нет свойства style.background, хотя при присвоении белый див культурно... зеленеет. Потому что изначально белый див белым не является, он вообще бесцветный. Вот код:
function chageColor(){tmp=document.getElementById("div1");
    tmp.style.background =  (tmp.style.background == "white") ? "black" : "green";
}

<div class="someClass" id="div1" onclick="changeColor()"></div>'

css класса someClass {background: white;}
Собственно вопрос - как из чистого js работать с css свойствами, чтобы они вели себя ожидаемым образом? Если в стилях свойство есть, то чтобы оно выбиралось в переменную, а если нет - то на нет и суда нет? Плюс, чтобы и в обратную строну можно было - установить либо каким-либо set-ом, либо просто присвоить?

Upd: задаю в другой функции для div1 - style.background, свойство есть. но не совсем понятно, почему если я его (style.background="#cff"; ) сравниваю с тем же значением (tmp.style.background=="#cff"; ) в chageColor() он даёт false. alert выдаёт цвет в формате rgb(204,255,255) Какой функцией преобразовывать строку, чтобы сравнение давало нужный результат?

Последний раз редактировалось Аня C, 14.10.2012 в 18:39. Причина: допиливание напильником
Ответить с цитированием