Для людей, которые не знают, о чем я говорю, читайте ниже:
В браузерах селектора CSS полагаются на атрибуты для работы.
#myButton[someAttribute] {
opacity: 0.5;
font-weight: bold
}
Итак, в нашем JavaScript, если мы изменим свойство элемента, в конечном итоге мы должны отразить его и в HTML DOM так:
// we have changed some property
myButton.someAttribute= true;
// but this is not adequate, we need to reflect as well
myButton.setAttribute('someAttribute', '');
поэтому получим следующее:
<button id="myButton" someAttribute></button>
не эта неосвещенная кнопка:
<button id="myButton"></button>