The goog.dom.classes Namespace

.add(element, var_args)

Adds a class or classes to an element. Does not add multiples of class names.

element {Node}
DOM node to add class to.
var_args {...string}
Class names to add.
returns {boolean}
Whether class was added (or all classes were added).

.addRemove(element, classesToRemove, classesToAdd)

Adds zero or more classes to an element and removes zero or more as a single operation. Unlike calling {@link goog.dom.classes.add} and {@link goog.dom.classes.remove} separately, this is more efficient as it only parses the class property once. If a class is in both the remove and add lists, it will be added. Thus, you can use this instead of {@link goog.dom.classes.swap} when you have more than two class names that you want to swap.

element {Node}
DOM node to swap classes on.
classesToRemove {?(string|Array.<string>)}
Class or classes to remove, if null no classes are removed.
classesToAdd {?(string|Array.<string>)}
Class or classes to add, if null no classes are added.

.enable(element, className, enabled)

Adds or removes a class depending on the enabled argument.

element {Node}
DOM node to add or remove the class on.
className {string}
Class name to add or remove.
enabled {boolean}
Whether to add or remove the class (true adds, false removes).

.get(element)

Gets an array of class names on an element

element {Node}
DOM node to get class of.
returns {!Array}
Class names on {@code element}. Some browsers add extra properties to the array. Do not depend on any of these!

.has(element, className)

Returns true if an element has a class.

element {Node}
DOM node to test.
className {string}
Class name to test for.
returns {boolean}
Whether element has the class.

.remove(element, var_args)

Removes a class or classes from an element.

element {Node}
DOM node to remove class from.
var_args {...string}
Class name(s) to remove.
returns {boolean}
Whether all classes in {@code var_args} were found and removed.

.set(element, className)

Sets the entire class name of an element.

element {Node}
DOM node to set class of.
className {string}
Class name(s) to apply to element.

.swap(element, fromClass, toClass)

Switches a class on an element from one to another without disturbing other classes. If the fromClass isn't removed, the toClass won't be added.

element {Node}
DOM node to swap classes on.
fromClass {string}
Class to remove.
toClass {string}
Class to add.
returns {boolean}
Whether classes were switched.

.toggle(element, className)

Removes a class if an element has it, and adds it the element doesn't have it. Won't affect other classes on the node.

element {Node}
DOM node to toggle class on.
className {string}
Class to toggle.
returns {boolean}
True if class was added, false if it was removed (in other words, whether element has the class after this function has been called).