Спасибо, Красти! И спасибо также DarkWulf за предупреждение об IE:)
Кстати, я обнаружил, что у меня был немного неправильный синтаксис для подхода, который я пробовал.
Правильный код для того, что я пробовал (несколько селекторов атрибутов), был бы
div[id="id1"][class~="collapsed"] { /* */ }
Тильда означает, что div [class ~ = "collapsed] будет совпадать с тем же правилом, что и div.collapsed, т.е. с любым из указанных классов.
div[class="collapsed"] { }
соответствует атрибуту класса точно , поэтому он будет соответствовать
<div class="collapsed"></div>
и не будут соответствовать
<div class="collapsible collapsed"></div>