romy4: , пока, постигая азы, пишу "велосипед". Просто необходимо было не существующие классы искать, а генерировать новые в зависимости от ситуации. Здесь Денис всю "петрушку" мне объяснил. И вам огромное спасибо!)
По первому пункту и соглашусь, и поспорю. Видится мне, что все зависит от контекста: в данном случае мы имеет тег button, но если необходимо будет сделать обертку в виде span и как раз ему будет присваиваться класс .button? Кроме того, :hover, :focus, :active - это еще не все, есть еще изменения состояния по нажатию (залипание), где без скрипта не обойтись. Более того здесь мы имеем кнопку, но это может быть вообще другой блок.
За второй пункт - отдельное спасибо! Не обратил бы на это внимание. Надо что-то с инициализацией делать, не на момент загрузки вешать скрипт.
romy4: romy4: благодарю за ответ, но... что-то я не понял, класс же мы ведь не ищем, а только создаем/удаляем. Вы имеете в виду необходимо удалить ths перед .focus()?
Дима Турков:, грубо говоря, сегодня мы имеем button с соответствующим классом. А завтра нам нужно будет повесить этот класс на span и имитировать :active. А еще могут быть обертки у полей, к которым класс присваивается в зависимости от состояния поля, кнопки - аналогично. Пишу ответ "на коленке", не знаю, насколько вразумительно объяснил.