.each()

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

  • .each(): Thực hiện một hành động cho mỗi phần tử, mỗi lần thực hiện một phần tử, để làm được điều này ta cần sử dụng phương thức $(this).

Cấu trúc

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

.each(function(){}

$('li').each(function(index){
    $(this).click(function(){
        $(this).addClass("test"+index);
    });
});

.each(function(){}

Html viết:

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Tiêu đề</title>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<style>
.list0 { color: red; }
.list1 { color: blue; }
.list2 { color: yellow; }
.list3 { color: green; }
.list4 { color: gray; }
.list5 { color: pink; }
</style>
<script>
$(function(){
    $('li').each(function(index){
        $(this).click(function(){
            $(this).addClass("list"+index);
        });
    });
});
</script>
</head>

<body>
<ul>
<li>list 01</li>
<li>list 02</li>
<li>list 03</li>
<li>list 04</li>
<li>list 05</li>
<li>list 06</li>
</ul>
</body>
</html>

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

Khi sử dụng .each(), phương thức click sẽ chỉ tác động lên từng phần tử riêng lẻ (click lên từng phần tử li để thấy kết quả).

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

Trước khi có jQuery Sau khi có jQuery - hover lên từng li

<ul>
<li>list 01</li>
<li>list 02</li>
<li>list 03</li>
<li>list 04</li>
<li>list 05</li>
<li>list 06</li>
</ul>

<ul>
<li class="list0">list 01</li>
<li class="list1">list 02</li>
<li class="list2">list 03</li>
<li class="list3">list 04</li>
<li class="list4">list 05</li>
<li class="list5">list 06</li>
</ul>

Ví dụ thêm

Html viết:

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Tiêu đề</title>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<style>
.over { color: red; }
</style>
<script>
$(function(){
    $('li').each(function(){
        $(this).hover(function(){
            $(this).addClass("over");
        },function(){
            $(this).removeClass("over");
        });
    });
});
</script>
</head>

<body>
<ul>
<li>list 01</li>
<li>list 02</li>
<li>list 03</li>
<li>list 04</li>
<li>list 05</li>
<li>list 06</li>
</ul>
</body>
</html>

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

Khi sử dụng .each(), phương thức hover sẽ chỉ tác động lên từng phần tử riêng lẻ (hover lên từng phần tử li để thấy kết quả).

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

Trước khi có jQuery Sau khi có jQuery - hover lên từng li

<ul>
<li>list 01</li>
<li>list 02</li>
<li>list 03</li>
<li>list 04</li>
<li>list 05</li>
<li>list 06</li>
</ul>

<ul>
<li>list 01</li>
<li class="over">list 02</li>
<li>list 03</li>
<li>list 04</li>
<li>list 05</li>
<li>list 06</li>
</ul>

Ví dụ thêm

Html viết:

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>Tiêu đề</title>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<style>
.over { color: red; }
</style>
<script>
$(function(){
    $('li').each(function(){
        $(this).hover(function(){
            $(this).addClass("over");
        },function(){
            $(this).removeClass("over");
        });
        if ($(this).is("#stop")){
             return false;
        }
    });
});
</script>
</head>

<body>
<ul>
<li>list 01</li>
<li>list 02</li>
<li>list 03</li>
<li id="stop">list 04</li>
<li>list 05</li>
<li>list 06</li>
</ul>
</body>
</html>

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

Sử dụng return false; tại vị trí <li id="stop"> sẽ làm dừng không xử lý các hành động từ thành phần #stop trở đi.

THÔNG BÁO LỖI