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

Bài liên quan

Bài 05: Autocomplete jQuery kết hợp PHP & MySQL

1. Autocomplete là gì? Hiểu một cách đơn giản thì autocomplete là một tính năng cho phép người dùng nhập vào một số từ khóa nhất định và hệ thống sẽ tự động hiện ra các gợi ý sao cho các gới ý đó gần giống từ khóa bạn nhập vào nhất. Ví dụ : Khi bạn nhập một vài ký tự vào một ô tìm kiếm của ...

Trịnh Tiến Mạnh viết 16:51 ngày 01/10/2018

Bài 06: jQuery Attributes - html()

DEMO Hàm ...

Hoàng Hải Đăng viết 10:14 ngày 03/08/2018

Bài 03: jQuery Attributes - attr() - prop()

Trong javascript để truy xuất giá trị của một thuộc tính nào đó thì ta phải dùng cú pháp DOM Element và DOM HTML. Nhưng trong jQuery thì rất đơn ...

Bùi Văn Nam viết 10:11 ngày 03/08/2018

Bài 02: jQuery Attributes - addclass() - removeclass()

Trong bài này mình sẽ giới thiệu hai hàm khá hay và rất hay sử dụng trong jQuery đó là hàm addClass() và removeClass(). Trước khi vào bài này thì ...

Bùi Văn Nam viết 10:10 ngày 03/08/2018

Bài 05: jQuery Attributes - hasClass()

DEMO Hàm ...

Hoàng Hải Đăng viết 10:08 ngày 03/08/2018
0