Bài 05: jQuery Attributes - hasClass()

Hàm hasClass() dùng để kiểm tra một đối tượng HTML có tồn tại className nào đó hay không?

1. Cú pháp hàm hasClass():

$('selector').hasClass(className)

Kết quả: 

  • TRUE nếu đối tượng có class truyền vào
  • FALSE nếu đối tượng không có class truyền vào

2. Ví dụ sử dụng hàm hasClass()

Ví dụ 1: Giả sử tôi có một thẻ DIV như sau:

1
div id="id-hasclass" class="demo testing"/div

Bây giờ tôi có một số đoạn code jquery như sau:

  • alert($('#id-hasclass').hasClass('demo')); = TRUE vì thẻ div có class demo
  • alert($('#id-hasclass').hasClass('testing')); = TRUE vì thẻ div có class testing
  • alert($('#id-hasclass').hasClass('testing')); = TRUE vì thẻ div có class testing

Ví dụ 2: Cho 2 thẻ div với nội dung như sau:

1
2
div class="yellow"/div
div class="red"/div

Full code HTML

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
!DOCTYPE html
html
    head
        titleĐổi màu nhé/title
        meta http-equiv="Content-Type" content="text/html; charset=UTF-8"
        script language="javascript" src="http://code.jquery.com/jquery-2.0.0.min.js"/script
        style type="text/css"
            .yellow{
                background: yellow;
                height: 200px;
            }
             
            .red{
                background: red;
                height: 200px;
            }
        /style
    /head
    body
        div class="yellow"/div
        div class="red"/div
        input type="button" value="Đảo Ngược Màu" id="button-dao-nguoc"/
    /body
/html

Hãy tạo một button, thêm sự kiện khi click vào button thì lập tức đổi màu của 2 thẻ div đó

Hướng giải:

Để giải bài này ta sẽ sử dụng một số hàm liên quan trong jquery đó là ham addClass và removeClass . Ta sẽ sử dụng sự kiện click trong jquery để thiết lập cho button có id là button-dao-nguoc.

Bài giải: Xem demo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
$(document).ready(function(){
 
    // Nếu click vào button đảo ngược
    $('#button-dao-nguoc').click(function(){
 
        // Lấy đối tượng cần thực thi
        var object = $('div');
 
        // Lặp qua từng đối tượng object
        for (var i = 0; i object.length; i++){
            // Thực hiện đổi màu
            // nếu có class red thì đổi thành yello
            // nếu có calss yellow thì đổi thành red
            if ($(object[i]).hasClass('red')){
                $(object[i]).removeClass('red').addClass('yellow');
            }
            else if ($(object[i]).hasClass('yellow')){
                $(object[i]).removeClass('yellow').addClass('red');
            }
        }
    });
});

Ở bài giải này các bạn lưu ý rằng ví chúng ta có 2 thẻ div nên tôi đã phải dùng vòng lặp để lặp qua từng đối tượng. Nếu bạn không dùng vòng lặp thì mặc nhiên nó chỉ có tác dụng với thẻ div đầu tiên.

3. Lời kết

Bài này chỉ đưa ra những ví dụ nhỏ về cách sử dụng jquery hasClass để kiểm tra đối tượng HTML có class nào đó không? Hy vọng giúp được một số bạn mới tìm hiểu jquery.


Code Dev

144 Blog posts

Comments