В бразере нет php интерпретатора (он только на сервере), а js есть. Можно конечно, как говорит @EagleMoor, инструменты есть. Но лучше приучить себя всегда работать с сервером, даже при верстке, бывают разные ситуации, ваш пример тому доказательство.
К сожалению в js нет классов. Термины "псевдокласс", «класс» отсутствуют в спецификации ES5. Но их используют, потому что подход, похож на "классы, используемые в других языках программирования, таких как PHP и т.п.