меняются не стили в классе, а классы у элемента и/или непосредственно стили самого элемента.
классы у элемента можно менять например так:
document.getElementsByClassName("my-class1")[0].className="my-class2"
стили так:
document.getElementsByClassName("my-class1")[0].style="font-family: 'PT Sans';font-style: normal;"
и т.п.
PS: метод document.getElementsByClassName() возвращает коллекцию, а не один элемент!
Upd:
ок, перечитал еще несколько раз, вроде понял что хотите ))
на JS возможно если у вас есть ссылка на объект с классом "my-class1"
например так
function checkMyFirstBlock(el){
if(el.className.indexOf("my-class1-2") == -1) {
// не найдено "my-class1-2"
document.getElementsByClassName("my-class2")[0].style = "background-color:red";
} else {
// найдено
document.getElementsByClassName("my-class2")[0].style = "background-color:white";
}
}
в функцию checkMyFirstBlock передаете ссылку на первый блок
если у него в className нет класса my-class1-2, то выполняется условие и можно как угодно менять стили у my-class2
Upd2:
Но, проще наверно хранить "флаг" в глобальной переменной
если в каком-то месте меняем классы первого элемента, то выставляем в переменной "флаг" (пусть 1)
если сбрасываем, то в переменную = 0
далее проверяем флаг, соответственно выставляем стили у второго элемента.
как-то так.