Hi 🤓 Cảm ơn bạn đã ghé thăm blog này, nếu những bài viết trên blog giúp ích cho bạn. Bạn có thể giúp blog hiển thị quảng cáo bằng cách tạm ngừng ad blocker 😫 và để giúp blog duy trì hoạt động nếu bạn muốn.
Cảm ơn bạn!

classList trong JavaScript là thuộc tính read-only trả về một DOMTokenList chứa danh sách class của các phần tử. Sử dụng classList giúp chúng ta dễ dàng thao tác với danh sách class của phần tử. Chúng ta cùng tìm hiểu về nó trong bài viết này nhé!

Lấy danh sách class của phần tử bằng JavaScript

Chúng ta cùng xem ví dụ dưới đây, mình sẽ tạo một phần tử HTML có một số class như sau:

<div class="color-red bold" id="blogName">homiedev.com</div>

Trong JavaScript, để lấy danh sách class của một phần tử chúng ta làm như sau:

const element = document.getElementById("blogName");

console.log(element.classList);

Kết quả:

DOMTokenList(2) ['color-red', 'bold', value: 'color-red bold']

Ví dụ trên, element.classList trả về một DOMTokenList chứa các class của phần tử. Từ đây chúng ta có thể thao tác lên object này, cùng xem tiếp nhé 😃.

Thêm class cho phần tử HTML

Để thêm class cho phần tử HTML bằng Vanilla JavaScript chúng ta làm như sau:

const element = document.getElementById("blogName");

element.classList.add("uppercase");
console.log(element.classList);

Như các bạn thấy bên dưới, sau khi sử dụng method add chúng ta đã thêm được class uppercase cho element.

DOMTokenList(3) ['color-red', 'bold', 'uppercase', value: 'color-red bold uppercase']

Chúng ta có thể thêm nhiều class cho phần tử bằng cách thêm các class vào method add.

element.classList.add("font-size-14","underline");

Xóa class của một phần tử HTML

Để xóa class của phần tử chúng ta sử dụng method remove như ví dụ bên dưới:

const element = document.getElementById("blogName");

element.classList.remove("bold", "uppercase");
console.log(element.classList);

Add/remove class của một phần tử HTML

Trong một số tình huống, chúng ta muốn thêm hoặc xóa class tùy theo phần tử đã có class đó hay chưa, ví dụ một phần tử sẽ hiển thị hoặc bị ẩn sau khi bạn nhấp vào nó.

Ví dụ phần tử dưới đây đã có class bold, chúng ta sử dụng method toggle và xem kết quả:

const element = document.getElementById("blogName");
console.log(element.classList);
// DOMTokenList(2) ['color-red', 'bold', value: 'color-red bold']

element.classList.toggle("bold");
console.log(element.classList);
// DOMTokenList ['color-red', value: 'color-red']

Bằng cách sử dụng toggle, JavaScript sẽ kiểm tra class bold đã tồn tại trên phần tử hay chưa. Nếu đã có thì sẽ bỏ class này, nếu chưa thì thêm vào phần tử.

Ngoài ra, ở tham số thứ hai của toggle, các bạn có thể thêm điều kiện kiểm tra để add/remove class:

// add/remove class bold, dựa theo điều kiện i < 1
div.classList.toggle("bold", i < 1);

Nếu điều kiện trả về true, class sẽ được thêm vào phần tử, nếu là false class sẽ được xóa khỏi phần tử.

Kiểm tra tồn tại class

Nếu muốn kiểm tra xem phần tử đã có class được chỉ định hay chưa, các bạn có thể làm như sau:

console.log(element.classList.contains('bold')); // true

Kết quả trả về true có nghĩa là phần tử đã có class bold.

Thay thế class

Ngoài việc thêm, xóa chúng ta có thể thay thế class đã có trên phần tử bằng class khác, bằng cách sử dụng method replace:

element.classList.replace('bold', 'normal');
console.log(element.classList);

Kết quả:

DOMTokenList(2) ['color-red', 'normal', value: 'color-red normal']

Hi vọng sau bài viết này, các bạn có thể hiểu được cách sử dụng một số method của classList. Chúc các bạn học tốt. Chúng ta sẽ gặp lại nhau trong các bài viết sắp tới nhé.

Có thể bạn thích ⚡
homiedev
About Me

Hi, I'm @devnav. Một người thích chia sẻ kiến thức, đặc biệt là về Frontend 🚀. Trang web này được tạo ra nhằm giúp các bạn học Frontend hiệu quả hơn 🎉😄.

Chúc các bạn tìm được kiến thức hữu ích trong blog này 😁😁.