Hàm Attribute Contains Word Selector [name~=”value”] trong jQuery

Attribute Contains Word Selector​ sẽ lựa chọn các phần tử dựa theo thuộc tính đã được thiết lập. Selector này sẽ tìm kiếm tất cả các phần tử có giá trị của thuộc tính có chứa từ được cung cấp và từ đó phải được ngăn cách với các kí tự khác bằng một khoảng trắng( xem ví dụ để hiểu rõ hơn).

Cú pháp

Cú pháp
jQuery( "[attribute~='value']" )

Trong đó:

  • attribute là tên thuộc tính.
  • value là giá trị của thuộc tính. có thể là một định danh hợp lệ hoặc một chuỗi đặt trong dấu ngoặc kép.

Attribute Contains Word Selector sẽ tìm kiếm các phần tử có giá trị của thuộc tính có chứa từ được cung cấp và từ đó phải được ngăn cách với các từ còn lại bởi một khoảng trắng. Selector này sẽ chỉ tìm kiếm nếu chuỗi được truyền vào là một từ(không bao gồm khoảng trắng).

Ví dụ

Tìm kiếm tất cả các thẻ a với thuộc tính name có chứa từ "net" và đổi màu cho chúng:

Code RUN
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>all demo</title>
        <style>
            a {
                display: inline-block;
            }
        </style>
        <script src="https://freetuts.net/cnd/js/jquery/jquery-3.2.1.min.js"></script>
    </head>
    <body>
        <h1>Học lập trình miễn phí tại freetuts.net</h1>
        <a href="example.html" name="freetuts net">freetuts.net</a>
        <a href="example.html" name="freetuts-net">This is a freetuts.net</a>
        <a href="example.html" name="net freetuts">This is a freetuts.net</a>
        <a href="example.html" name="youtube">youtube.com</a>
        <button onclick="myFunction()">Click vào đây để xem kết quả</button>
        <script>
            function myFunction(){
                $( "a[name~='net']" ).css( "color", "red" );
            }
        </script>
    </body>
</html>

Ta có thể thấy mặc dù thẻ a thứ hai có thuộc tính name="freetuts-net" nhưng vẫn không được chọn vì từ net không được ngăn cách bở một khoảng trắng.

Kết quả:

 

Tham khảo: jquery.com

Nguồn: freetuts.net