The Classlist API

Hey fellow creators,

Let’s learn how to use the classlist API, which is handy since it’ll let you add, remove, and plenty of other things with the classes of your html code!

If you prefer to watch the video version, it’s right here :

Here’s a co…


This content originally appeared on DEV Community and was authored by Ustariz Enzo

Hey fellow creators,

Let's learn how to use the classlist API, which is handy since it'll let you add, remove, and plenty of other things with the classes of your html code!

If you prefer to watch the video version, it's right here :

Here's a code pen for you to follow along!

1. Access the API.

This is an API directly implemented in the browser, so you don't need to do anything as long as you are using Javascript with your browser.

Create a simple title in your HTML, here's mine:

<h1 class="title t1 heading">Yellowstone National Park is an American national park located in the western United States.</h1>

As well as a CSS file:

*, ::before, ::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    background: #222;
    font-family: Arial, Helvetica, sans-serif;
}

.title {
    color: #f1f1f1;
    padding: 15px 40px;
}

.salmon {
    background: salmon;
}

So here's how you can access the API:

const title = document.querySelector('h1')
console.log(title.classList);

Then, look into your console and you'll see that you have a list with the different classes, and in the prototype you'll see the different methods that you can use, like toggle, replace etc.

2. Let's try the add method!

title.classList.add('salmon')

This will add the background colour to the H1! You're just adding one class to your title.

3. Try the remove method.

title.classList.remove('salmon')

And now the background color is removed!

4. What does the toggle method do?

Imagine if you click on the element, you want to toggle the salmon class:

title.addEventListener('click', () => {
            title.classList.toggle('salmon')
})

Now, if you click on it, the background will reappear, and if you click on it again it'll disappear, etc!

5. The item method.

console.log(title.classList.item(0));

This will give us the first class. It's not always useful, but that way you know it!

6. What's the contains method?

This method is more useful! This will help you know if an element contains a certain class:

console.log(title.classList.contains('heading'));

Here, since our title does contain the class heading, it will return true in the console.

7. What about the replace method?

The replace method is pretty straightforward: as the title says, it replaces a class by another class:

title.classList.replace('heading', 'salmon')

The title will now have the class salmon instead of heading.

These methods are fairly easy to learn, but are pretty useful as you can see!

Come and take a look at my Youtube channel: https://www.youtube.com/c/Learntocreate/videos

See you soon!

Enzo.


This content originally appeared on DEV Community and was authored by Ustariz Enzo


Print Share Comment Cite Upload Translate Updates
APA

Ustariz Enzo | Sciencx (2021-11-19T12:52:02+00:00) The Classlist API. Retrieved from https://www.scien.cx/2021/11/19/the-classlist-api/

MLA
" » The Classlist API." Ustariz Enzo | Sciencx - Friday November 19, 2021, https://www.scien.cx/2021/11/19/the-classlist-api/
HARVARD
Ustariz Enzo | Sciencx Friday November 19, 2021 » The Classlist API., viewed ,<https://www.scien.cx/2021/11/19/the-classlist-api/>
VANCOUVER
Ustariz Enzo | Sciencx - » The Classlist API. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2021/11/19/the-classlist-api/
CHICAGO
" » The Classlist API." Ustariz Enzo | Sciencx - Accessed . https://www.scien.cx/2021/11/19/the-classlist-api/
IEEE
" » The Classlist API." Ustariz Enzo | Sciencx [Online]. Available: https://www.scien.cx/2021/11/19/the-classlist-api/. [Accessed: ]
rf:citation
» The Classlist API | Ustariz Enzo | Sciencx | https://www.scien.cx/2021/11/19/the-classlist-api/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.