var element = document.getElementById(element_id);
element.className += " " + newClassName;
Вуаля. Это будет работать практически во всех браузерах. Начальный пробел важен, потому что свойство className
обрабатывает классы css как одну строку, которая должна соответствовать атрибуту class
в элементах HTML (где несколько классов должны быть разделены пробелами).
Кстати, вам лучше использовать библиотеку Javascript, например prototype или jQuery , в которой есть методы для этого, а также функции, которые могут сначала проверить элементу уже присвоен класс.
В прототипе, например:
// Prototype automatically checks that the element doesn't already have the class
$(element_id).addClassName(newClassName);
Посмотрите, насколько это лучше?!