03/08/2018, 10:08

Bài 05: jQuery Attributes - hasClass()

DEMO Hàm ...

DEMO

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:

<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:

<div class="yellow"></div>
<div class="red"></div>

Full code HTML

<!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

$(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.

BÀI KẾ SAU
BÀI KẾ TIẾP

Nguồn: code24h.com

0