Я провел некоторое тестирование с IE / FF и обнаружил, что включение идентификатора элемента в вашу таблицу стилей (ul # menuCnt) не позволяет JQuery переопределять этот стиль - по крайней мере, с помощью методов, которые я использовал (toggleClass, addClass, removeClass и т. Д.) .
Если вы назначите класс элементу в теге (вместо указания идентификатора в таблице стилей), вы можете переопределить его с помощью JQuery.
Если вы удалите идентификатор из стиля, вы можете переопределить его с помощью JQuery (не очень полезно, но хорошо для демонстрации поведения).
Фактически, если вы оставите идентификатор в своей таблице стилей и попытаетесь назначить другой класс внутри тега, вы все равно увидите класс, связанный с идентификатором, в таблице стилей.
Примечание:
Пост Винсента подсказывает, почему мы видим такое поведение.
Я также согласен с предложением exhuma использовать: hover в вашем CSS.