У меня есть див, у дива есть класс, у класса есть свойства. Хочу, чтобы по нажатию на див свойство 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) Какой функцией преобразовывать строку, чтобы сравнение давало нужный результат?