Security News
tea.xyz Spam Plagues npm and RubyGems Package Registries
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
classlist
Advanced tools
Changelog
v2.0.0
Removed context chaining and changed some return values to more closely match [the specification][spec]
// v1
list.add('foo').remove('bar')
// v2
list.add('foo')
list.remove('bar')
Added item
and replace
methods
Readme
This module aims to match the behaviour of Element#classList
, without polyfilling it.
IE9 doesn't have the native classList
, and other browsers have incomplete implementations. This module tries to bridge the gaps.
npm install classlist
(or yarn add classlist
)
This module is intended for use in the browser via a module bundler such as Webpack or Browserify. Sample usage:
var classList = require('classlist')
var element = document.querySelector('#id')
var list = classList(element)
// Add a class:
list.add('foo')
// Remove a class:
list.remove('bar')
// Toggle a class:
list.toggle('baz')
// Replace class 'foo' with 'bar'
list.replace('foo', 'bar')
// Check if the element has a class:
if (list.contains('bar')) {
console.log('Element has class bar')
}
This module tries to follow the native API as closely as possible.
list = new ClassList(element)
Constructor. Create a new ClassList
object. new
is optional.
// Object style, "new"
var ClassList = require('classlist')
var list = new ClassList(element)
// Function style, no "new"
var classList = require('classlist')
var list = classList(element)
list.item(index)
or list[index]
Returns the class at the given index
. Example:
var div = document.createElement('div')
div.className = 'a b'
var list = classList(div)
list.item(0) // 'a'
list[1] // 'b'
list.contains(class)
Returns true if the element has the given class; false otherwise.
list.add(class1 [, class2 [, ... ]])
Adds one or more classes to the element associated with list
. If the class is already present on the element, it is not added again.
list.remove(class1 [, class2 [, ... ]])
Removes one or more classes from the element, if present.
list.toggle(class [, force ])
Toggles the given class; removes the class if it is present, or adds the class if it is not present.
When force
is true, the class is always added (i.e. it is equivalent to calling add
). When force
is false, the class is always removed (i.e. it is equivalent to calling remove
). This can be useful when conditioning on an outcome; for example,
list.toggle('not_empty', counter > 0)
// is equivalent to:
if (counter > 0) {
list.add('not_empty')
} else {
list.remove('not_empty')
}
Returns true
if the class is now present, or false
otherwise.
list.replace(oldClass, newClass)
If oldClass
is present on the element, it is replaced by newClass
. If oldClass
is not present, this method has no effect.
Returns true
if the class was replaced, false
otherwise.
This module has been tested for compatibility with IE8+, and may work in even older browsers. If it doesn't, open an issue.
MIT
FAQs
Element#classList for older browsers.
The npm package classlist receives a total of 4,964 weekly downloads. As such, classlist popularity was classified as popular.
We found that classlist demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Security News
As cyber threats become more autonomous, AI-powered defenses are crucial for businesses to stay ahead of attackers who can exploit software vulnerabilities at scale.
Security News
UnitedHealth Group disclosed that the ransomware attack on Change Healthcare compromised protected health information for millions in the U.S., with estimated costs to the company expected to reach $1 billion.