npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

class-utilities

v0.0.5

Published

A collection of useful utilities for HTML classes

Downloads

4

Readme

class-utilities

Open in Visual Studio Code npm CircleCI

A collection of useful utilities for HTML classes

The class-utilities package is designed to keep code DRY by simplifying actions one may perform while calling document.getElementsByClassName().

For example, instead of doing this:

;[...document.getElementsByClassName('Boo')].forEach(i => {
  i.innerHTML('<p>Boring</p>')
})

class-utilities allow you to do this:

classUtilities('Yay').innerHTML('<p>Neat</p>')

Currently, class-utilities supports the following methods:

length
innerHTML
textContent
innerText
appendChild
remove
id

Methods/Examples

length

length returns the amount of elements with the specified class

classUtilities('test').length()

innerHTML

innerHTML replaces, or appends HTML to elements with the specified class. Or, if no parameters are provided, an array containing the innerHTML data of the elements will be returned

classUtilities('test').innerHTML('<p>Replace</p>') // Replace
classUtilities('test').innerHTML('<p>Append</p>', 'a') // Append
classUtilities('test').innerHTML() // Return array with current `innerHTML` data

textContent

textContent is very similar to innerHTML but instead deals solely with text

classUtilities('test').textContent('Replace') // Replace
classUtilities('test').textContent('Append', 'a') // Append
classUtilities('test').textContent() // Return array with current `textContent` data

innerText

classUtilities('test').innerText('Replace') // Replace
classUtilities('test').innerText('Append', 'a') // Append
classUtilities('test').innerText() // Return array with current `innerText` data

appendChild

appendChild appends an element as the child of the classes with the specified class

const container = document.createElement('div')
classUtilities('test').appendChild(container)

remove

remove simply removes all elements with the specified class

classUtilities('test').remove()

id

id sets a unique identifier to each element by appending the given data -# to it. If no parameters are supplied, id will return an array with id data of the elements

classUtilities('test').id('test') // test-0, test-1, test-2, etc.
classUtilities('test').id() // Return array with current `id` data

Chaining

Chaining provides the ability to selectively iterate over elements with a parent that has a specific class.

Currently, class-utilities only supports chaining up to one depth, e.g. classUtilities('test test-1') will work, but classUtilities('test test-1 test-2') will not.