Chủ đề nổi bật
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
Mới nhất

Hiệu ứng trong jQuery

jQuery cung cấp một giao diện đơn giản để thực hiện các loại hiệu ứng tuyệt vời đa dạng. Các phương thức jQuery cho phép chúng ta áp dụng nhanh chóng các hiệu ứng phổ biến với cấu hình tối thiểu. Chương này sẽ bàn luận tất cả phương thức jQuery quan trọng để tạo các Visual Effect. Hiển ...

Cơ bản về jQuery

jQuery là một Framework được xây dựng dựa trên các tính năng của JavaScript. Vì thế trong khi phát triển các ứng dụng sử dụng jQuery, bạn có thể sử dụng tất cả các hàm và các tính năng khác được bổ trợ trong JavaScript. Chương này sẽ giải thích hầu hết khái niệm cơ bản thường được sử dụng ...

jQuery Ajax

AJAX là từ viết tắt của Asynchronous JavaScript and XML và công nghệ này giúp chúng ta tải dữ liệu từ Server mà không cần Refresh trình duyệt. Nếu bạn cảm thấy mới mẻ với AJAX, mình đề nghị bạn nên truy cập trang: Ajax Tutorial trước khi theo dõi những gì được đề cập trong chương này. ...

Plugins trong jQuery

Plug-in là một phần của code được viết theo một JavaScript file chuẩn. Những file này cung cấp các phương thức jQuery hữu ích mà có thể được sử dụng cùng với các phương thức jQuery Library. Có rất nhiều jQuery plug-in có sẵn để bạn có thể tải về từ kho lưu tại: http://jquery.com/plugins. ...

Xử lý sự kiện trong jQuery

Chúng ta có khả năng tạo các trang web động bởi sử dụng các Sự kiện (Event). Các sự kiện là các hành động mà có thể được phát hiện bởi ứng dụng web của bạn. Sau đây ví dụ một số sự kiện: Khi các sự kiện này được kích hoạt, bạn có thể sử dụng các hàm custom để phản hồi bất kỳ những gì ...

Thao tác DOM trong jQuery

jQuery cung cấp các phương thức để thao tác với DOM một cách cực kỳ hiệu quả. Bạn không cần viết những đoạn code quá dài để sửa đổi giá trị thuộc tính của bất kỳ phần tử nào hoặc để trích (extract) các đoạn HTML code từ một thẻ p hoặc div. jQuery cung cấp các phương thức như .attr(), ...

Thuộc tính trong jQuery

Một số thành phần cơ bản nhất, chúng ta có thể thao tác với các phần tử DOM, là các đặc tính và các thuộc tính được gán cho các phần tử đó. Hầu hết những thuộc tính này là có sẵn thông qua JavaScript như là các thuộc tính DOM node. Một số thuộc tính phổ biến hơn là: Xem xét đoạn HTML ...

CSS Selector trong jQuery

Thư viện jQuery hỗ trợ gần như tất cả các Selector trong Cascading Style Sheet (CSS), khi đã được đề cập trên World Wide Web Consortium. Sử dụng thư viện jQuery, các nhà lập trình có thể nâng cấp các Website của họ mà không cần lo lắng về các trình duyệt và phiên bản của nó, miễn là các ...

jQuery là gì

jQuery là gì? jQuery là một thư viện kiểu mới của JavaScript, được tạo bởi John Resig vào năm 2006 với một phương châm tuyệt vời: Write less, do more - Viết ít hơn, làm nhiều hơn . jQuery làm đơn giản hóa việc truyền tải HTML, xử lý sự kiện, tạo hiệu ứng động và tương tác Ajax. Với ...

Truy cập DOM trong jQuery

jQuery là một công cụ vô cùng mạnh mẽ. Nó cung cấp các phương thức đa dạng để truy cập DOM (DOM Traversal Method), giúp chúng ta chọn các phần tử trong một tài liệu một cách ngẫu nhiên hoặc theo phương thức liên tục. Hầu hết DOM Traversal Method không sửa đổi đối tượng jQuery và chúng được ...