Implementation:SeleniumHQ Selenium Closure Dom Classlist
| Knowledge Sources | |
|---|---|
| Domains | JavaScript_Atoms, Vendored_Library |
| Last Updated | 2026-02-12 00:00 GMT |
Overview
Vendored Google Closure Library module providing CSS class manipulation utilities used by Selenium JavaScript atoms.
Description
goog.dom.classlist is a vendored copy of the Google Closure Library module. It provides utilities for detecting, adding, and removing CSS classes on DOM elements. It attempts to use the native classList (DOMTokenList) API when available for better performance, with a fallback to className string manipulation. It handles SVGElements correctly via getAttribute. Selenium uses this as part of its JavaScript atom infrastructure for browser automation commands.
Usage
This module is consumed internally by Selenium's JavaScript atoms build system. It is not imported directly by end users.
Code Reference
Source Location
- Repository: SeleniumHQ_Selenium
- File: third_party/closure/goog/dom/classlist.js
- Lines: 1-315
Key Exports
goog.provide('goog.dom.classlist');
// Key exported functions:
goog.dom.classlist.get(element)
goog.dom.classlist.set(element, className)
goog.dom.classlist.contains(element, className)
goog.dom.classlist.add(element, className)
goog.dom.classlist.addAll(element, classesToAdd)
goog.dom.classlist.remove(element, className)
goog.dom.classlist.removeAll(element, classesToRemove)
goog.dom.classlist.enable(element, className, enabled)
goog.dom.classlist.enableAll(element, classesToEnable, enabled)
goog.dom.classlist.swap(element, fromClass, toClass)
goog.dom.classlist.toggle(element, className)
goog.dom.classlist.addRemove(element, classToRemove, classToAdd)