Định nghĩa và sử dụng

  • .filter(): Giúp lọc các thành phần trong một nhóm các thành phần giống nhau.

Cấu trúc

  • Đã được thêm vào từ phiên bản 1.0

.filter(bộ chọn)

$('li').filter('.test');

.filter(function(index){...})

$('li').filter(function(index){
    return $('strong', this).length == 1;
}).css('background-color', 'red'););
  • Đã được thêm vào từ phiên bản 1.4

.filter(jquery object)

$('li').filter($('div.test'));

.filter(bộ chọn)

Html viết:

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Tiêu đề</title>
<script src="https://code.jquery.com/jquery-latest.js"></script>
<script>
$(function(){
    $('li').filter('.test').css('background-color','blue');
});
</script>
</head>

<body>
<ul>
<li>Thành phần thứ 1</li>
<li class="test">Thành phần thứ 2</li>
<li>Thành phần thứ 3</li>
<li>Thành phần thứ 4</li>
<li>Thành phần thứ 5</li>
</ul>
</body>
</html>

Hiển thị trình duyệt:

.filter('.test') đã giúp lọc ra thành phần li có class="test".

So sánh code HTML trước và sau khi có jQuery:

Trước khi có jQuery Sau khi có jQuery

<ul>
<li>Thành phần thứ 1</li>
<li class="test">Thành phần thứ 2</li>
<li>Thành phần thứ 3</li>
<li>Thành phần thứ 4</li>
<li>Thành phần thứ 5</li>
</ul>

<ul>
<li>Thành phần thứ 1</li>
<li class="test" style="background-color: blue;">Thành phần thứ 2</li>
<li>Thành phần thứ 3</li>
<li>Thành phần thứ 4</li>
<li>Thành phần thứ 5</li>
</ul>

.filter(function(index){...})

Html viết:

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Tiêu đề</title>
<script src="https://code.jquery.com/jquery-latest.js"></script>
<script>
$(function(){
    $('li').filter(function(index) {
        return index == 2;
    }).css('background-color','blue');
});
</script>
</head>

<body>
<ul>
<li>Thành phần thứ 1</li>
<li>Thành phần thứ 2</li>
<li>Thành phần thứ 3</li>
<li>Thành phần thứ 4</li>
<li>Thành phần thứ 5</li>
</ul>
</body>
</html>

Hiển thị trình duyệt:

Với cách sử dụng như trên đã giúp lọc ra Thành phần thứ 3 (thành phần có chỉ số bằng 2, chỉ số 0 ứng với Thành phần thứ 1).

So sánh code HTML trước và sau khi có jQuery:

Trước khi có jQuery Sau khi có jQuery

<ul>
<li>Thành phần thứ 1</li>
<li class="test">Thành phần thứ 2</li>
<li>Thành phần thứ 3</li>
<li>Thành phần thứ 4</li>
<li>Thành phần thứ 5</li>
</ul>

<ul>
<li>Thành phần thứ 1</li>
<li>Thành phần thứ 2</li>
<li style="background-color: blue;">Thành phần thứ 3</li>
<li>Thành phần thứ 4</li>
<li>Thành phần thứ 5</li>
</ul>

.filter(Thành phần)

Html viết:

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Tiêu đề</title>
<script src="https://code.jquery.com/jquery-latest.js"></script>
<script>
$(function(){
    $('div').filter($('.test')).css('background-color','blue');
});
</script>
</head>

<body>
<div>Thành phần div</div>
<div class="test">Thành phần div</div>
<div>Thành phần div</div>
<div>Thành phần div</div>
<div>Thành phần div</div>
</body>
</html>

Hiển thị trình duyệt:

Với cách sử dụng như trên đã giúp lọc ra Thành phần thứ 3 (thành phần có chỉ số bằng 2, chỉ số 0 ứng với Thành phần thứ 1).

So sánh code HTML trước và sau khi có jQuery:

Trước khi có jQuery Sau khi có jQuery

<div>Thành phần div</div>
<div class="test">Thành phần div</div>
<div>Thành phần div</div>
<div>Thành phần div</div>
<div>Thành phần div</div>

<div>Thành phần div</div>
<div class="test" style="background-color: blue;">Thành phần div</div>
<div>Thành phần div</div>
<div>Thành phần div</div>
<div>Thành phần div</div>