JQUERY SELECTOR
Cách dùng All Selector (“*”) trong jQuery Cách dùng :animated Selector trong jQuery Cách dùng Attribute Contains Prefix Selector [name|=”value”] trong jQuery Cách dùng Attribute Contains Selector [name*=”value”] trong jQuery Cách dùng Attribute Contains Word Selector [name~=”value”] trong jQuery Cách dùng Attribute Ends With Selector [name$=”value”] trong jQuery Cách dùng Attribute Equals Selector [name=”value”] trong jQuery Cách dùng Attribute Not Equal Selector [name!=”value”] trong jQuery Cách dùng Attribute Starts With Selector [name^=”value”] trong jQuery Cách dùng :button Selector trong jQuery Cách dùng :checkbox Selector trong jQuery Cách dùng :checked Selector trong jQuery Cách dùng Child Selector (“parent > child”) trong jQuery Cách dùng Class Selector (“.class”) trong jQuery Cách dùng :contains() Selector trong jQuery Cách dùng Descendant Selector (“ancestor descendant”) trong jQuery Cách dùng :disabled Selector trong jQuery Cách dùng Element Selector (“element”) trong jQuery Cách dùng :empty Selector trong jQuery Cách dùng :enabled selector trong jQuery Cách dùng :eq() Selector trong jQuery Cách dùng :even Selector trong jQuery Cách dùng :odd Selector trong jQuery Cách dùng :file Selector trong jQuery Cách dùng :first-child Selector trong jQuery Cách dùng :first-of-type Selector trong jQuery Cách dùng :first Selector trong jQuery Cách dùng :focus Selector trong jQuery Cách dùng :gt() Selector trong jQuery Cách dùng Has Attribute Selector [name] trong jQuery Cách dùng :has() Selector trong jQuery Cách dùng :header Selector trong jQuery Cách dùng :hidden Selector trong jQuery Cách dùng ID Selector (“#id”) trong jQuery Cách dùng :image Selector trong jQuery Cách dùng :input Selector trong jQuery Cách dùng :lang() Selector trong jQuery Cách dùng :last-child Selector trong jQuery Cách dùng :last-of-type Selector trong jQuery Cách dùng :last Selector trong jQuery Cách dùng :lt() Selector trong jQuery Cách dùng Multiple Attribute Selector [name=”value”][name2=”value2″] trong jQuery Cách dùng Multiple Selector (“selector1, selector2, selectorN”) trong jQuery Cách dùng Next Adjacent Selector (“prev + next”) trong jQuery Cách dùng Next Siblings Selector (“prev ~ siblings”) trong jQuery Cách dùng :not() Selector trong jQuery Cách dùng :nth-child() Selector trong jQuery Cách dùng :nth-last-child() Selector trong jQuery Cách dùng :nth-of-type() Selector trong jQuery Cách dùng :nth-last-of-type() Selector trong jQuery Cách dùng :only-child Selector trong jQuery Cách dùng :only-of-type Selector trong jQuery Cách dùng :parent Selector trong jQuery Cách dùng :password Selector trong jQuery Cách dùng :radio Selector trong jQuery Cách dùng :reset Selector trong jQuery Cách dùng :root Selector trong jQuery Cách dùng :selected Selector trong jQuery Cách dùng :submit Selector trong jQuery Cách dùng :target Selector trong jQuery Cách dùng :text Selector trong jQuery Cách dùng :visible Selector trong jQuery
JQUERY EVENTS
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Cách dùng :visible Selector trong jQuery

Visible Selector sẽ lựa chọn tất cả các phần tử có thể thấy được. Nói cách khác nó sẽ lựa chọn tất cả các phần tử không bị ẩn đi ( ngược lại so với :hidden).

Các phần tử được xem là hiển thị khi chúng có chiếm không gian trong tài liệu, các phần tử hiển thị sẽ có width hoặc height lớn hơn 0.

Các phần tử được thiết lập visibility: hidden hoặc opacity: 0 vẫn được coi là các phần tử hiển thị vì chúng vẫn chiếm không gian trong tài liệu.

Các phần tử không nằm trong tài liệu không được coi là có hiển thị, Jquery không có cách nào để biết chúng có thể hiển thị hay không khi nối vào tài liệu vì còn phụ thuộc vào các kiểu phù hợp.

Selector này là nghịch đảo của :hidden selector vì vậy những phần tử được chọn bởi nó sẽ không thể được chọn bởi :hidden selector.

Các phần tử option của thẻ select được coi là ẩn kể cả khi chúng được selected.

Trong suốt quá trình chuyển động của một phần tử, nó được xem là hiển thị khi bắt đầu chuyển động.

Trong Jquery 1.3.2 một phần tử được xem là ẩn khi nó hoặc bất cứ phần tử cha nào của nó không tiêu tốn không gian trong tài liệu.Tính năng hiển thị CSS sẽ không được tính đến(do đó $( elem ).css( "visibility", "hidden" ).is( ":hidden" ) == false) .

Jquery 3 đã thay đổi một chút về ý nghĩa của :hidden do vậy sẽ ảnh hưởng đến :visible. Một phần tử được xem là ẩn khi nó không được chứa bởi bất cứ vùng nào trên trang. Ví dụ, thẻ br sẽ  được chọn bởi :visible selector.

Chú ý:

  • Bởi vì :visible là một Jquery extension và không phải là một phần thiết lập của CSS, các truy vấn sử dụng :visible sẽ không thể phát huy hiệu quả của phương thức querySelectorAll(). Để đạt được hiệu quả cao nhất khi sử dụng,  bạn nên sử dụng một selector được thiết lập bởi css trước sau đó sử dụng :visible để lọc lại kết quả chính xác.
  • Việc sử dụng selector này sẽ làm giảm hiệu suất vì nó yêu cầu trình duyệt phải render lại trang trước khi nó có thể xác định đâu là phần tử bị ẩn đi. Theo dõi sự hiện thị của các phần tử thông qua cách khác (ví dụ như class) có thể gia tăng tốc độ của trang.

Cú pháp

Cú pháp
jQuery( ":visible" )

Ví dụ

Cùng xem ví dụ sau đây:

Code RUN
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Học lập trình miễn phí tại freetuts.net</title>
        <script src="https://freetuts.net/cnd/js/jquery/jquery-3.2.1.min.js"></script>
        <style type="text/css">
            div {
                width: 50px;
                height: 40px;
                margin: 5px;
                border: 3px outset green;
                float: left;
            }
            .starthidden {
                display: none;
            }   
        </style>
    </head>
    <body>
        <h1>Học lập trình miễn phí tại freetuts.net</h1>
        <div></div>
        <div class="starthidden"></div>
        <div></div>
        <div></div>
        <div style="display:none;"></div>
        <br>
        <button>Hiển thị các thẻ div bị ẩn</button>
        <script>
            $( "button" ).click(function() {
              $( "div:hidden" ).show( "fast" );
            }); 

            $( "div:visible" ).click(function() {
              $( this ).css( "background", "yellow" );
            });
        </script>
    </body>
</html>

Kết quả:

Giải thích một chút, khi click button, các phần tử bị ẩn đi sẽ được div:hidden chọn và hiển thị chúng.

Tiếp đó, nếu bạn click các thẻ div hiển thị từ trước, chúng sẽ được div:visible chọn và đổi màu nền cho thẻ được click.

Ở đây sẽ có bạn đặt ra thắc mắc, nếu mình click button trước thì khi đó các phần tử :hidden đã được hiển thị rồi, tại sao nó không được :visible lựa chọn ? 

Để hiểu được điều này các bạn phải hiểu được quá trình biên dịch của Javascript, nó sẽ load hết code trong thẻ <script> trước khi bạn click, lúc này các thẻ div bị ẩn chưa được lựa chọn bởi :visible nên sau khi nó được hiển thị nó vẫn sẽ không được chọn bởi :visible vì trang không hề được load lại.

Để kiểm chứng các bạn đặt lại đoạn script như sau:

Code RUN
$( "button" ).click(function() {
    $( "div:hidden" ).show( "fast" );

    $( "div:visible" ).click(function() {
      $( this ).css( "background", "red" );
    });
});

Kết quả:

click thử vào tất cả các thẻ div, kết quả đã khác phải không nào. Lí do ở đây là vì mình đã đặt đoạn gán sự kiện cho các thẻ div vào trong sự kiện click button, mỗi khi click button, các phần tử đang ẩn sẽ được hiển thị bởi $( "div:hidden" ).show( "fast" );, sau đó, :visible sẽ chạy lại một lần để tìm kiếm các phần tử được hiển thị và gán sự kiện click cho nó. Do vậy, tất cả các thẻ div sẽ được gán sự kiện click.

Hi vọng các bạn đã hiểu rõ được cách thức hoạt động của :visible và :hidden, chúc các bạn thành công.

Tham khảo: jquery.com

Kết quả:

Cùng chuyên mục:

slideUp() và slideDown() trong jQuery

slideUp() và slideDown() trong jQuery

Nếu nói đến hiệu ứng slide thì ta phải tìm đến những ...

fadeIn() và fadeOut() trong jQuery

fadeIn() và fadeOut() trong jQuery

Không giống như show và hide, fadeIn và fadeOut sẽ hiển thị hoặc mờ ...

Show() và Hide() trong jQuery

Show() và Hide() trong jQuery

Hàm hide chỉ đơn giản là thiết lập thuộc tính ...

jQuery selector là gì? Trọn bộ selector trong jQuery đầy đủ nhất

jQuery selector là gì? Trọn bộ selector trong jQuery đầy đủ nhất

Trong bài này chúng ta sẽ tìm hiểu về Selector trong jQuery, đây là bài…

jQuery là gì? Cách viết jQuery cho người mới bắt đầu

jQuery là gì? Cách viết jQuery cho người mới bắt đầu

Trong công nghệ web 2.0 thì Javascript là một

Cách ẩn hiện nội dung khi click vào button trong jQuery

Cách ẩn hiện nội dung khi click vào button trong jQuery

Cách dùng All Selector (“*”) trong jQuery

Cách dùng All Selector (“*”) trong jQuery

Cách dùng All Selector (“*”) trong jQuery

Cách dùng :animated Selector trong jQuery

Cách dùng :animated Selector trong jQuery

Cách dùng :animated Selector trong jQuery

Cách dùng Attribute Contains Prefix Selector [name|=”value”] trong jQuery

Cách dùng Attribute Contains Prefix Selector [name|=”value”] trong jQuery

Cách dùng Attribute Contains Prefix Selector [name|=”value”] trong jQuery

Cách dùng Attribute Contains Selector [name*=”value”] trong jQuery

Cách dùng Attribute Contains Selector [name*=”value”] trong jQuery

Cách dùng Attribute Contains Selector [name*=”value”] trong jQuery

Cách dùng Attribute Contains Word Selector [name~=”value”] trong jQuery

Cách dùng Attribute Contains Word Selector [name~=”value”] trong jQuery

Cách dùng Attribute Contains Word Selector [name~=”value”] trong jQuery

Cách dùng Attribute Ends With Selector [name$=”value”] trong jQuery

Cách dùng Attribute Ends With Selector [name$=”value”] trong jQuery

Cách dùng Attribute Ends With Selector [name$=”value”] trong jQuery

Cách dùng Attribute Equals Selector [name=”value”] trong jQuery

Cách dùng Attribute Equals Selector [name=”value”] trong jQuery

Cách dùng Attribute Equals Selector [name=”value”] trong jQuery

Cách dùng Attribute Not Equal Selector [name!=”value”] trong jQuery

Cách dùng Attribute Not Equal Selector [name!=”value”] trong jQuery

Cách dùng Attribute Not Equal Selector [name!=”value”] trong jQuery

Cách dùng Attribute Starts With Selector [name^=”value”] trong jQuery

Cách dùng Attribute Starts With Selector [name^=”value”] trong jQuery

Cách dùng Attribute Starts With Selector [name^=”value”] trong jQuery

Cách dùng :button Selector trong jQuery

Cách dùng :button Selector trong jQuery

Cách dùng :button Selector trong jQuery

Cách dùng :checkbox Selector trong jQuery

Cách dùng :checkbox Selector trong jQuery

Cách dùng :checkbox Selector trong jQuery

Cách dùng :checked Selector trong jQuery

Cách dùng :checked Selector trong jQuery

Cách dùng :checked Selector trong jQuery

Cách dùng Child Selector (“parent > child”) trong jQuery

Cách dùng Child Selector (“parent > child”) trong jQuery

Cách dùng Child Selector (“parent > child”) trong jQuery

Cách dùng Class Selector (“.class”) trong jQuery

Cách dùng Class Selector (“.class”) trong jQuery

Cách dùng Class Selector (“.class”) trong jQuery

Top