{"id":90100,"date":"2025-07-31T22:20:54","date_gmt":"2025-07-31T15:20:54","guid":{"rendered":"https:\/\/itviec.com\/blog\/?p=90100"},"modified":"2025-07-31T22:21:34","modified_gmt":"2025-07-31T15:21:34","slug":"huong-dan-su-dung-each-jquery","status":"publish","type":"post","link":"https:\/\/itviec.com\/blog\/huong-dan-su-dung-each-jquery\/","title":{"rendered":"each jQuery: C\u00fa ph\u00e1p, v\u00ed d\u1ee5, l\u1ed7i th\u01b0\u1eddng g\u1eb7p"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">N\u1ed9i dung b\u00e0i vi\u1ebft<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/itviec.com\/blog\/huong-dan-su-dung-each-jquery\/#Tong_quan_ve_phuong_thuc_each_trong_jQuery\" >T\u1ed5ng quan v\u1ec1 ph\u01b0\u01a1ng th\u1ee9c each() trong jQuery<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/itviec.com\/blog\/huong-dan-su-dung-each-jquery\/#Cac_tham_so_Parameters_trong_each_jQuery\" >C\u00e1c tham s\u1ed1 (Parameters) trong each() jQuery&nbsp;<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/itviec.com\/blog\/huong-dan-su-dung-each-jquery\/#Su_khac_nhau_giua_%E2%80%98selector_each_va_each_trong_jQuery\" >S\u1ef1 kh\u00e1c nhau gi\u1eefa $(\u2018selector ).each v\u00e0 $.each() trong jQuery<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/itviec.com\/blog\/huong-dan-su-dung-each-jquery\/#Mot_so_vi_du_ve_each_trong_jQuery\" >M\u1ed9t s\u1ed1 v\u00ed d\u1ee5 v\u1ec1 each() trong jQuery<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/itviec.com\/blog\/huong-dan-su-dung-each-jquery\/#So_sanh_JavaScript_forEach_va_jQuery_each\" >So s\u00e1nh: JavaScript .forEach() v\u00e0 jQuery .each()<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/itviec.com\/blog\/huong-dan-su-dung-each-jquery\/#Cac_cau_hoi_thuong_gap_ve_each_trong_jQuery\" >C\u00e1c c\u00e2u h\u1ecfi th\u01b0\u1eddng g\u1eb7p v\u1ec1 each() trong jQuery<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/itviec.com\/blog\/huong-dan-su-dung-each-jquery\/#Tong_ket_ve_each_jQuery\" >T\u1ed5ng k\u1ebft v\u1ec1 each() jQuery<\/a><\/li><\/ul><\/nav><\/div>\n\n<p><strong><em>each jQuery l\u00e0 m\u1ed9t ph\u01b0\u01a1ng th\u1ee9c \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng ph\u1ed5 bi\u1ebfn trong vi\u1ec7c l\u1eb7p qua m\u1ea3ng, \u0111\u1ed1i t\u01b0\u1ee3ng ho\u1eb7c t\u1eadp h\u1ee3p c\u00e1c ph\u1ea7n t\u1eed DOM. V\u1edbi c\u00fa ph\u00e1p \u0111\u01a1n gi\u1ea3n nh\u01b0ng c\u1ef1c k\u1ef3 m\u1ea1nh m\u1ebd, each() gi\u00fap l\u1eadp tr\u00ecnh vi\u00ean x\u1eed l\u00fd kh\u1ed1i l\u01b0\u1ee3ng d\u1eef li\u1ec7u l\u1edbn m\u1ed9t c\u00e1ch hi\u1ec7u qu\u1ea3, \u0111\u1ed3ng th\u1eddi v\u1eabn gi\u1eef \u0111\u01b0\u1ee3c s\u1ef1 ng\u1eafn g\u1ecdn v\u00e0 d\u1ec5 \u0111\u1ecdc trong \u0111o\u1ea1n m\u00e3.<\/em><\/strong><\/p>\n\n\n\n<p>\u0110\u1ecdc b\u00e0i vi\u1ebft sau \u0111\u1ec3 \u0111\u01b0\u1ee3c gi\u1ea3i \u0111\u00e1p chi ti\u1ebft h\u01a1n v\u1ec1:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>C\u00fa ph\u00e1p, c\u00f4ng d\u1ee5ng v\u00e0 c\u00e1ch ho\u1ea1t \u0111\u1ed9ng c\u1ee7a ph\u01b0\u01a1ng th\u1ee9c <code>each()<\/code> trong jQuery.<\/li>\n\n\n\n<li>So s\u00e1nh <code>$(\u2018selector ).each<\/code> v\u00e0 <code>$.each()<\/code> trong jQuery.&nbsp;<\/li>\n\n\n\n<li>M\u1ed9t s\u1ed1 v\u00ed d\u1ee5 c\u01a1 b\u1ea3n v\u1ec1 <code>each()<\/code> trong jQuery.&nbsp;<\/li>\n\n\n\n<li>So s\u00e1nh JavaScript <code>.forEach()<\/code> v\u00e0 jQuery <code>.each()<\/code> &#8211; khi n\u00e0o n\u00ean d\u00f9ng ph\u01b0\u01a1ng th\u1ee9c n\u00e0o?&nbsp;<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-t\u1ed5ng-quan-v\u1ec1-ph\u01b0\u01a1ng-th\u1ee9c-each-trong-jquery\"><span class=\"ez-toc-section\" id=\"Tong_quan_ve_phuong_thuc_each_trong_jQuery\"><\/span><strong>T\u1ed5ng quan v\u1ec1 ph\u01b0\u01a1ng th\u1ee9c each() trong jQuery<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p><code>jQuery.each()<\/code> l\u00e0 m\u1ed9t ph\u01b0\u01a1ng th\u1ee9c quan tr\u1ecdng c\u1ee7a jQuery, \u0111\u01b0\u1ee3c thi\u1ebft k\u1ebf \u0111\u1ec3 l\u1eb7p qua m\u1ed9t t\u1eadp h\u1ee3p c\u00e1c ph\u1ea7n t\u1eed ho\u1eb7c c\u1ea5u tr\u00fac d\u1eef li\u1ec7u. jQuery cung c\u1ea5p hai d\u1ea1ng <code>each()<\/code> kh\u00e1c nhau:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>$.each()<\/code> \u0111\u1ec3 l\u1eb7p qua m\u1ea3ng v\u00e0 object<\/li>\n\n\n\n<li><code>$().each()<\/code> \u0111\u1ec3 l\u1eb7p qua jQuery objects ch\u1ee9a c\u00e1c ph\u1ea7n t\u1eed DOM<\/li>\n<\/ul>\n\n\n\n<p>D\u00f9 b\u1ea1n \u0111ang thao t\u00e1c v\u1edbi ph\u1ea7n t\u1eed DOM hay x\u1eed l\u00fd m\u1ea3ng v\u00e0 \u0111\u1ed1i t\u01b0\u1ee3ng, <code>jQuery.each()<\/code> mang l\u1ea1i m\u1ed9t c\u00e1ch ti\u1ebfp c\u1eadn \u0111\u01a1n gi\u1ea3n v\u00e0 hi\u1ec7u qu\u1ea3 \u0111\u1ec3 th\u1ef1c hi\u1ec7n c\u00e1c t\u00e1c v\u1ee5 n\u00e0y.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-each-trong-jquery-ho\u1ea1t-d\u1ed9ng-nh\u01b0-th\u1ebf-nao\"><strong>each() trong jQuery ho\u1ea1t \u0111\u1ed9ng nh\u01b0 th\u1ebf n\u00e0o?<\/strong><\/h3>\n\n\n\n<p>H\u00e0m n\u00e0y nh\u1eadn hai tham s\u1ed1: ch\u1ec9 s\u1ed1 (index) v\u00e0 gi\u00e1 tr\u1ecb (value) c\u1ee7a ph\u1ea7n t\u1eed hi\u1ec7n t\u1ea1i. Nh\u1edd \u0111\u00f3, b\u1ea1n c\u00f3 th\u1ec3 thao t\u00e1c v\u1edbi t\u1eebng ph\u1ea7n t\u1eed trong t\u1eadp h\u1ee3p, t\u1eeb vi\u1ec7c x\u1eed l\u00fd DOM cho \u0111\u1ebfn x\u1eed l\u00fd d\u1eef li\u1ec7u.<\/p>\n\n\n\n<p>Khi b\u1ea1n g\u1ecdi <code>jQuery.each()<\/code>, n\u00f3 s\u1ebd x\u1eed l\u00fd t\u1eebng ph\u1ea7n t\u1eed trong t\u1eadp h\u1ee3p m\u1ed9t c\u00e1ch tu\u1ea7n t\u1ef1. H\u00e0m callback b\u1ea1n cung c\u1ea5p s\u1ebd \u0111\u01b0\u1ee3c g\u1ecdi m\u1ed9t l\u1ea7n cho m\u1ed7i ph\u1ea7n t\u1eed, v\u1edbi ch\u1ec9 s\u1ed1 v\u00e0 gi\u00e1 tr\u1ecb hi\u1ec7n t\u1ea1i \u0111\u01b0\u1ee3c truy\u1ec1n v\u00e0o d\u01b0\u1edbi d\u1ea1ng tham s\u1ed1.<\/p>\n\n\n\n<p>Trong callback function, t\u1eeb kh\u00f3a <code>this<\/code> s\u1ebd refer \u0111\u1ebfn value c\u1ee7a ph\u1ea7n t\u1eed hi\u1ec7n t\u1ea1i. C\u01a1 ch\u1ebf n\u00e0y cho ph\u00e9p b\u1ea1n \u00e1p d\u1ee5ng thay \u0111\u1ed5i, t\u00ednh to\u00e1n k\u1ebft qu\u1ea3, ho\u1eb7c th\u1ef1c hi\u1ec7n h\u00e0nh \u0111\u1ed9ng d\u1ef1a tr\u00ean n\u1ed9i dung c\u1ee7a t\u1eebng ph\u1ea7n t\u1eed. B\u1ea1n c\u00f3 th\u1ec3 d\u1eebng v\u00f2ng l\u1eb7p s\u1edbm b\u1eb1ng c\u00e1ch return <code>false<\/code> trong callback function.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><em>Xem chi ti\u1ebft: <strong><a href=\"https:\/\/itviec.com\/blog\/jquery-la-gi\/\" target=\"_blank\" rel=\"noreferrer noopener\">Nh\u1eefng \u0111i\u1ec1u c\u1ea7n bi\u1ebft v\u1ec1 jQuery \u2013 Th\u01b0 vi\u1ec7n Javascript h\u00e0ng \u0111\u1ea7u<\/a><\/strong><\/em><\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-t\u1ea1i-sao-each-trong-jquery-d\u01b0\u1ee3c-s\u1eed-d\u1ee5ng-nhi\u1ec1u\"><strong>T\u1ea1i sao each() trong jQuery \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng nhi\u1ec1u?<\/strong><\/h3>\n\n\n\n<p>Khi n\u00f3i \u0111\u1ebfn vi\u1ec7c l\u1eb7p qua c\u00e1c ph\u1ea7n t\u1eed ho\u1eb7c t\u1eadp d\u1eef li\u1ec7u, <code>jQuery.each()<\/code> n\u1ed5i b\u1eadt nh\u1edd c\u00fa ph\u00e1p tr\u1ef1c quan v\u00e0 ch\u1ee9c n\u0103ng m\u1ea1nh m\u1ebd. Kh\u00f4ng gi\u1ed1ng nh\u01b0 c\u00e1c v\u00f2ng l\u1eb7p truy\u1ec1n th\u1ed1ng, each() t\u00edch h\u1ee3p li\u1ec1n m\u1ea1ch v\u1edbi c\u00e1c ph\u01b0\u01a1ng th\u1ee9c ch\u1ecdn l\u1ecdc c\u1ee7a jQuery, mang l\u1ea1i c\u00e1ch vi\u1ebft ng\u1eafn g\u1ecdn v\u00e0 s\u1ea1ch s\u1ebd h\u01a1n \u0111\u1ec3 duy\u1ec7t qua d\u1eef li\u1ec7u, gi\u00fap c\u1ea3i thi\u1ec7n kh\u1ea3 n\u0103ng \u0111\u1ecdc m\u00e3 v\u00e0 gi\u1ea3m thi\u1ec3u l\u1ed7i, tr\u1edf th\u00e0nh l\u1ef1a ch\u1ecdn ph\u1ed5 bi\u1ebfn cho c\u00e1c l\u1eadp tr\u00ecnh vi\u00ean h\u01b0\u1edbng \u0111\u1ebfn hi\u1ec7u qu\u1ea3 v\u00e0 r\u00f5 r\u00e0ng.&nbsp;<\/p>\n\n\n\n<p>\u0110i\u1ec3m n\u1ed5i b\u1eadt c\u1ee7a ph\u01b0\u01a1ng th\u1ee9c n\u00e0y c\u00f2n n\u1eb1m \u1edf s\u1ef1 linh ho\u1ea1t, t\u01b0\u01a1ng th\u00edch t\u1ed1t v\u1edbi c\u00e1c tr\u00ecnh duy\u1ec7t c\u0169, \u0111\u1eb7c bi\u1ec7t trong th\u1eddi k\u1ef3 jQuery ph\u1ed5 bi\u1ebfn (2010-2015), <code>each()<\/code> gi\u1ea3i quy\u1ebft v\u1ea5n \u0111\u1ec1 t\u01b0\u01a1ng th\u00edch tr\u00ecnh duy\u1ec7t ch\u00e9o <strong>(<\/strong>cross-browser compatibility) m\u00e0 c\u00e1c ph\u01b0\u01a1ng th\u1ee9c native JavaScript nh\u01b0 <code>forEach()<\/code> ch\u01b0a \u0111\u01b0\u1ee3c h\u1ed7 tr\u1ee3 r\u1ed9ng r\u00e3i.&nbsp;<\/p>\n\n\n\n<p>Tuy nhi\u00ean, v\u1edbi c\u00e1c d\u1ef1 \u00e1n hi\u1ec7n \u0111\u1ea1i, c\u00e1c ph\u01b0\u01a1ng th\u1ee9c native JavaScript (ES6+) nh\u01b0 <code>forEach()<\/code>, <code>map() for...of<\/code> th\u01b0\u1eddng \u0111\u01b0\u1ee3c \u01b0u ti\u00ean h\u01a1n \u0111\u1ec3 t\u1ed1i \u01b0u performance.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-cac-tham-s\u1ed1-parameters-trong-each-jquery-nbsp\"><span class=\"ez-toc-section\" id=\"Cac_tham_so_Parameters_trong_each_jQuery\"><\/span><strong>C\u00e1c tham s\u1ed1 (Parameters) trong each() jQuery&nbsp;<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>jQuery cung c\u1ea5p hai d\u1ea1ng <code>each()<\/code> v\u1edbi c\u00fa ph\u00e1p kh\u00e1c nhau:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-each-danh-cho-arrays-va-objects\"><strong>$.each() &#8211; D\u00e0nh cho arrays v\u00e0 objects<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>$.each(collection, function(index, value) {\n\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Code c\u1ee7a b\u1ea1n \u1edf \u0111\u00e2y\n\n});<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-each-danh-cho-jquery-objects\"><strong>$().each() &#8211; D\u00e0nh cho jQuery objects<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>$('selector').each(function(index, element) {\n\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/ Code c\u1ee7a b\u1ea1n \u1edf \u0111\u00e2y\n\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/ this === element (DOM element)\n\n});<\/code><\/pre>\n\n\n\n<p>Trong \u0111\u00f3:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>collection<\/code><\/strong> c\u00f3 th\u1ec3 l\u00e0 m\u1ed9t m\u1ea3ng ho\u1eb7c m\u1ed9t \u0111\u1ed1i t\u01b0\u1ee3ng.&nbsp;<\/li>\n\n\n\n<li><strong><code>index<\/code><\/strong> \u0111\u1ea1i di\u1ec7n cho v\u1ecb tr\u00ed hi\u1ec7n t\u1ea1i (n\u1ebfu l\u00e0 m\u1ea3ng) ho\u1eb7c t\u00ean thu\u1ed9c t\u00ednh (n\u1ebfu l\u00e0 \u0111\u1ed1i t\u01b0\u1ee3ng).<\/li>\n\n\n\n<li><strong><code>value<\/code><\/strong> l\u00e0 gi\u00e1 tr\u1ecb t\u01b0\u01a1ng \u1ee9ng.&nbsp;<\/li>\n<\/ul>\n\n\n\n<p>Vi\u1ec7c n\u1eafm v\u1eefng c\u00fa ph\u00e1p n\u00e0y l\u00e0 \u0111i\u1ec1u c\u1ea7n thi\u1ebft \u0111\u1ec3 s\u1eed d\u1ee5ng h\u00e0m m\u1ed9t c\u00e1ch hi\u1ec7u qu\u1ea3.<\/p>\n\n\n\n<p>M\u1ed9t trong nh\u1eefng c\u00e1ch s\u1eed d\u1ee5ng ph\u1ed5 bi\u1ebfn nh\u1ea5t c\u1ee7a <code>jQuery.each()<\/code> l\u00e0 duy\u1ec7t qua c\u00e1c ph\u1ea7n t\u1eed trong danh s\u00e1ch. Gi\u1ea3 s\u1eed b\u1ea1n c\u00f3 m\u1ed9t danh s\u00e1ch kh\u00f4ng th\u1ee9 t\u1ef1 (<code>&lt;ul&gt;<\/code>) ch\u1ee9a nhi\u1ec1u m\u1ee5c (<code>&lt;li&gt;<\/code>), v\u00e0 b\u1ea1n mu\u1ed1n \u00e1p d\u1ee5ng m\u1ed9t class cho t\u1eebng m\u1ee5c. V\u1edbi <code>jQuery.each()<\/code>, b\u1ea1n c\u00f3 th\u1ec3 l\u1eb7p qua t\u1eebng ph\u1ea7n t\u1eed trong danh s\u00e1ch m\u1ed9t c\u00e1ch hi\u1ec7u qu\u1ea3 v\u00e0 thao t\u00e1c v\u1edbi t\u1eebng ph\u1ea7n t\u1eed \u0111\u00f3.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-vi-d\u1ee5-th\u1ef1c-t\u1ebf\"><strong>V\u00ed d\u1ee5 th\u1ef1c t\u1ebf<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-vi-d\u1ee5-1\"><strong>V\u00ed d\u1ee5 1<\/strong><\/h4>\n\n\n\n<p>H\u00e3y t\u01b0\u1edfng t\u01b0\u1ee3ng m\u1ed9t t\u00ecnh hu\u1ed1ng b\u1ea1n c\u1ea7n \u0111\u1ecbnh d\u1ea1ng danh s\u00e1ch gi\u00e1 \u0111\u1ec3 hi\u1ec3n th\u1ecb tr\u00ean trang web. B\u1eb1ng c\u00e1ch l\u1eb7p qua m\u1ed9t m\u1ea3ng ch\u1ee9a c\u00e1c m\u1ee9c gi\u00e1, b\u1ea1n c\u00f3 th\u1ec3 \u0111\u1ecbnh d\u1ea1ng t\u1eebng gi\u00e1 tr\u1ecb r\u1ed3i ch\u00e8n v\u00e0o DOM:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>var prices = &#91;19.99, 29.99, 49.99];\n\n$.each(prices, function(index, price) {\n\n&nbsp;&nbsp;&nbsp;&nbsp;$('#price-list').append('&lt;li&gt;$' + price.toFixed(2) + '&lt;\/li&gt;');\n\n});<\/code><\/pre>\n\n\n\n<p>V\u00ed d\u1ee5 n\u00e0y \u0111\u1ecbnh d\u1ea1ng m\u1ed7i m\u1ee9c gi\u00e1 th\u00e0nh 2 ch\u1eef s\u1ed1 th\u1eadp ph\u00e2n v\u00e0 th\u00eam ch\u00fang v\u00e0o m\u1ed9t danh s\u00e1ch kh\u00f4ng th\u1ee9 t\u1ef1 (<code>&lt;ul&gt;<\/code>).<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-vi-d\u1ee5-2\"><strong>V\u00ed d\u1ee5 2<\/strong><\/h4>\n\n\n\n<p>B\u1ea1n mu\u1ed1n x\u00e2y d\u1ef1ng m\u1ed9t th\u01b0 vi\u1ec7n \u1ea3nh hi\u1ec3n th\u1ecb t\u1ed1t tr\u00ean m\u1ecdi thi\u1ebft b\u1ecb, trong \u0111\u00f3 m\u1ed7i \u1ea3nh \u0111i k\u00e8m v\u1edbi m\u1ed9t ch\u00fa th\u00edch. B\u1eb1ng c\u00e1ch k\u1ebft h\u1ee3p <code>jQuery.each()<\/code> v\u1edbi <code>append()<\/code>, b\u1ea1n c\u00f3 th\u1ec3 t\u1ea1o c\u00e1c m\u1ee5c trong th\u01b0 vi\u1ec7n \u1ea3nh m\u1ed9t c\u00e1ch linh ho\u1ea1t:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>var images = &#91;\n&nbsp;&nbsp;&nbsp;&nbsp;{src: 'img1.jpg', caption: '\u1ea2nh 1'},\n&nbsp;&nbsp;&nbsp;&nbsp;{src: 'img2.jpg', caption: '\u1ea2nh 2'},\n&nbsp;&nbsp;&nbsp;&nbsp;{src: 'img3.jpg', caption: '\u1ea2nh 3'}\n];\n\n$.each(images, function(index, image) {\n&nbsp;&nbsp;&nbsp;&nbsp;$('#gallery').append(\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'&lt;div class=\"gallery-item\"&gt;' +\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'&lt;img src=\"' + image.src + '\" alt=\"' + image.caption + '\"&gt;' +\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'&lt;p&gt;' + image.caption + '&lt;\/p&gt;' +\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'&lt;\/div&gt;'\n&nbsp;&nbsp;&nbsp;&nbsp;);\n});<\/code><\/pre>\n\n\n\n<p>V\u00ed d\u1ee5 tr\u00ean gi\u00fap t\u1ea1o ra c\u00e1c ph\u1ea7n t\u1eed th\u01b0 vi\u1ec7n \u1ea3nh m\u1ed9t c\u00e1ch \u0111\u1ed9ng, k\u1ebft h\u1ee3p <code>jQuery.each()<\/code> v\u1edbi thao t\u00e1c th\u00eam HTML v\u00e0o DOM.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-s\u1ef1-khac-nhau-gi\u1eefa-selector-each-va-each-trong-jquery\"><span class=\"ez-toc-section\" id=\"Su_khac_nhau_giua_%E2%80%98selector_each_va_each_trong_jQuery\"><\/span><strong>S\u1ef1 kh\u00e1c nhau gi\u1eefa $(\u2018selector ).each v\u00e0 $.each() trong jQuery<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Trong jQuery, ch\u00fang ta th\u01b0\u1eddng b\u1eaft g\u1eb7p hai c\u00e1ch s\u1eed d\u1ee5ng h\u00e0m <code>each()<\/code> l\u00e0 <strong><code>$(\u2018selector\u2019).each()<\/code><\/strong> v\u00e0 <strong><code>$.each()<\/code><\/strong>. Tuy c\u00fa ph\u00e1p t\u01b0\u01a1ng t\u1ef1 nhau, nh\u01b0ng m\u1ee5c \u0111\u00edch s\u1eed d\u1ee5ng v\u00e0 ph\u1ea1m vi \u00e1p d\u1ee5ng c\u1ee7a ch\u00fang l\u1ea1i ho\u00e0n to\u00e0n kh\u00e1c nhau.&nbsp;<\/p>\n\n\n\n<p>H\u00e0m <code>$(selector).each()<\/code> ch\u1ec9 \u0111\u01b0\u1ee3c d\u00f9ng \u0111\u1ec3 l\u1eb7p qua m\u1ed9t \u0111\u1ed1i t\u01b0\u1ee3ng jQuery. C\u00f2n h\u00e0m <code>$.each()<\/code> l\u00e0 m\u1ed9t utility function (hay c\u00f2n g\u1ecdi l\u00e0 static method) c\u1ee7a jQuery, c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng \u0111\u1ec3 l\u1eb7p qua b\u1ea5t k\u1ef3 t\u1eadp h\u1ee3p n\u00e0o, d\u00f9 \u0111\u00f3 l\u00e0 m\u1ed9t \u0111\u1ed1i t\u01b0\u1ee3ng hay m\u1ed9t m\u1ea3ng.&nbsp;<\/p>\n\n\n\n<p>Trong tr\u01b0\u1eddng h\u1ee3p l\u00e0 m\u1ea3ng, h\u00e0m <code>callback<\/code> s\u1ebd nh\u1eadn v\u00e0o ch\u1ec9 s\u1ed1 c\u1ee7a m\u1ea3ng v\u00e0 gi\u00e1 tr\u1ecb t\u01b0\u01a1ng \u1ee9ng t\u1ea1i m\u1ed7i v\u00f2ng l\u1eb7p. Gi\u00e1 tr\u1ecb c\u0169ng c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c truy c\u1eadp th\u00f4ng qua t\u1eeb kh\u00f3a <code>this<\/code>, nh\u01b0ng JavaScript s\u1ebd lu\u00f4n \u0111\u00f3ng g\u00f3i gi\u00e1 tr\u1ecb n\u00e0y th\u00e0nh m\u1ed9t \u0111\u1ed1i t\u01b0\u1ee3ng, ngay c\u1ea3 khi \u0111\u00f3 ch\u1ec9 l\u00e0 m\u1ed9t chu\u1ed7i ho\u1eb7c s\u1ed1 \u0111\u01a1n gi\u1ea3n. Ph\u01b0\u01a1ng th\u1ee9c n\u00e0y s\u1ebd tr\u1ea3 v\u1ec1 \u0111\u1ed1i s\u1ed1 \u0111\u1ea7u ti\u00ean, t\u1ee9c l\u00e0 \u0111\u1ed1i t\u01b0\u1ee3ng \u0111\u00e3 \u0111\u01b0\u1ee3c l\u1eb7p qua.<\/p>\n\n\n\n<p>\u0110\u1ec3 hi\u1ec3u r\u00f5 h\u01a1n, b\u1ea1n c\u00f3 th\u1ec3 xem qua v\u00ed d\u1ee5 sau. \u1ede v\u00ed d\u1ee5 d\u01b0\u1edbi \u0111\u00e2y, s\u1ebd c\u00f3 m\u1ed9t m\u1ea3ng v\u00e0 c\u00f3 th\u1ec3 truy c\u1eadp t\u1ea5t c\u1ea3 c\u00e1c ph\u1ea7n t\u1eed c\u1ee7a n\u00f3 b\u1eb1ng h\u00e0m $.each() n\u00e0y.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;!DOCTYPE html&gt;\n\n&lt;html&gt;\n\n&lt;head&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;title&gt;jQuery Each Function&lt;\/title&gt;\n&lt;\/head&gt;\n\n&lt;body&gt;\n&nbsp;&nbsp;&lt;h3&gt;jQuery Each Function&lt;\/h3&gt;\n&nbsp;&nbsp;&lt;script src=\"https:\/\/ajax.googleapis.com\/ajax\/libs\/jquery\/3.6.0\/jquery.min.js\"&gt;&lt;\/script&gt;\n&nbsp;&nbsp;&lt;script&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;$(document).ready(function () {\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let arr = &#91;\"HTML\",\"CSS\",\"JavaScript\",\"jQuery\",\"React\"];\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$.each(arr, function(index, item){\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(`Index no ${index}&nbsp; :&nbsp; Item = ${item}`)\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});\n&nbsp;&nbsp;&nbsp;&nbsp;});\n&nbsp;&nbsp;&lt;\/script&gt;\n&lt;\/body&gt;\n\n&lt;\/html&gt;<\/code><\/pre>\n\n\n\n<p>Khi ch\u1ea1y \u0111o\u1ea1n m\u00e3 tr\u00ean r\u1ed3i m\u1edf c\u00f4ng c\u1ee5 d\u00e0nh cho developer c\u1ee7a tr\u00ecnh duy\u1ec7t b\u1eb1ng c\u00e1ch nh\u1ea5n ph\u00edm F12 v\u00e0 xem b\u1ea3ng \u0111i\u1ec1u khi\u1ec3n, b\u1ea1n s\u1ebd th\u1ea5y c\u00e1c b\u1ea3n ghi sau trong b\u1ea3ng \u0111i\u1ec1u khi\u1ec3n.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"646\" height=\"312\" src=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/07\/image-161.png\" alt=\"\" class=\"wp-image-90228\" srcset=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/07\/image-161.png 646w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/07\/image-161-300x145.png 300w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/07\/image-161-640x309.png 640w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/07\/image-161-200x97.png 200w\" sizes=\"auto, (max-width: 646px) 100vw, 646px\" \/><\/figure>\n\n\n\n<p>Ho\u1eb7c m\u1ed9t v\u00ed d\u1ee5 kh\u00e1c, m\u1ed9t object v\u00e0 c\u00f3 th\u1ec3 truy c\u1eadp t\u1ea5t c\u1ea3 c\u00e1c c\u1eb7p kh\u00f3a v\u00e0 gi\u00e1 tr\u1ecb c\u1ee7a object \u0111\u00f3 b\u1eb1ng c\u00e1ch s\u1eed d\u1ee5ng h\u00e0m <code>$.each()<\/code>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;!DOCTYPE html&gt;\n\n&lt;html&gt;\n\n&lt;head&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;title&gt;jQuery Each Function&lt;\/title&gt;\n&lt;\/head&gt;\n\n&lt;body&gt;\n&nbsp;&nbsp;&lt;h3&gt;jQuery Each Function&lt;\/h3&gt;\n&nbsp;&nbsp;&lt;script src=\"https:\/\/ajax.googleapis.com\/ajax\/libs\/jquery\/3.6.0\/jquery.min.js\"&gt;&lt;\/script&gt;\n&nbsp;&nbsp;&lt;script&gt;\n&nbsp;&nbsp;&nbsp;&nbsp;$(document).ready(function () {\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let obj ={\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name : 'John',\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;age : 22,\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;job : 'Web Developer',\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hobby : 'cricket',\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$.each( obj, function(key, val){\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log( `Key = ${key}&nbsp; :&nbsp; Value = ${val}` )\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});\n&nbsp;&nbsp;&nbsp;&nbsp;});\n&nbsp;&nbsp;&lt;\/script&gt;\n&lt;\/body&gt;\n\n&lt;\/html&gt;<\/code><\/pre>\n\n\n\n<p>T\u01b0\u01a1ng t\u1ef1, khi ch\u1ea1y \u0111o\u1ea1n m\u00e3 s\u1ebd xu\u1ea5t hi\u1ec7n k\u1ebft qu\u1ea3 nh\u01b0 sau<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"660\" height=\"274\" src=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/07\/image-162.png\" alt=\"\" class=\"wp-image-90275\" srcset=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/07\/image-162.png 660w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/07\/image-162-300x125.png 300w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/07\/image-162-640x266.png 640w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/07\/image-162-200x83.png 200w\" sizes=\"auto, (max-width: 660px) 100vw, 660px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-m\u1ed9t-s\u1ed1-vi-d\u1ee5-v\u1ec1-each-trong-jquery\"><span class=\"ez-toc-section\" id=\"Mot_so_vi_du_ve_each_trong_jQuery\"><\/span><strong>M\u1ed9t s\u1ed1 v\u00ed d\u1ee5 v\u1ec1 each() trong jQuery<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-vi-d\u1ee5-c\u01a1-b\u1ea3n-v\u1ec1-each-jquery-nbsp\"><strong>V\u00ed d\u1ee5 c\u01a1 b\u1ea3n v\u1ec1 each() jQuery&nbsp;<\/strong><\/h3>\n\n\n\n<p>V\u00ed d\u1ee5 1: Ch\u1ecdn t\u1ea5t c\u1ea3 c\u00e1c th\u1ebb <code>&lt;a&gt;<\/code> tr\u00ean trang v\u00e0 in ra thu\u1ed9c t\u00ednh <code>href<\/code> c\u1ee7a ch\u00fang:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$('a').each(function(index, value){\n\n&nbsp;&nbsp;console.log(this.href);\n\n&nbsp;&nbsp;\/\/ Ho\u1eb7c: console.log($(this).attr('href'));\n\n});<\/code><\/pre>\n\n\n\n<p>V\u00ed d\u1ee5 2: In ra t\u1ea5t c\u1ea3 c\u00e1c \u0111\u01b0\u1eddng d\u1eabn href b\u00ean ngo\u00e0i (external link) tr\u00ean trang web (gi\u1ea3 s\u1eed ch\u1ec9 x\u00e9t c\u00e1c \u0111\u01b0\u1eddng d\u1eabn c\u00f3 giao th\u1ee9c HTTP ho\u1eb7c HTTPS):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$('a').each(function(index, value){\n\n&nbsp;&nbsp;const link = this.href;\n\n&nbsp;&nbsp;if (link.match(\/https?:\\\/\\\/\/)) {\n\n&nbsp;&nbsp;&nbsp;&nbsp;console.log(link);\n\n&nbsp;&nbsp;}\n\n});\n\nGi\u1ea3 s\u1eed tr\u00ean trang c\u00f3 c\u00e1c li\u00ean k\u1ebft sau:\n\n&lt;a href=\"https:\/\/www.sitepoint.com\/\"&gt;SitePoint&lt;\/a&gt;\n\n&lt;a href=\"https:\/\/developer.mozilla.org\"&gt;MDN web docs&lt;\/a&gt;\n\n&lt;a href=\"http:\/\/example.com\/\"&gt;Example Domain&lt;\/a&gt;<\/code><\/pre>\n\n\n\n<p>Th\u00ec v\u00ed d\u1ee5 th\u1ee9 hai s\u1ebd in ra:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">https:\/\/www.sitepoint.com\/<br>https:\/\/developer.mozilla.org\/<br>http:\/\/example.com\/<\/pre>\n\n\n\n<p>C\u1ea7n l\u01b0u \u00fd r\u1eb1ng c\u00e1c ph\u1ea7n t\u1eed DOM t\u1eeb m\u1ed9t \u0111\u1ed1i t\u01b0\u1ee3ng jQuery s\u1ebd \u1edf d\u1ea1ng &#8220;nguy\u00ean b\u1ea3n&#8221; (native DOM element) trong h\u00e0m callback \u0111\u01b0\u1ee3c truy\u1ec1n v\u00e0o <code>jQuery.each()<\/code>. L\u00fd do l\u00e0 v\u00ec jQuery th\u1ef1c ch\u1ea5t ch\u1ec9 l\u00e0 m\u1ed9t l\u1edbp bao b\u1ecdc (wrapper) quanh m\u1ed9t m\u1ea3ng c\u00e1c ph\u1ea7n t\u1eed DOM. Khi s\u1eed d\u1ee5ng <code>jQuery.each()<\/code>, m\u1ea3ng n\u00e0y \u0111\u01b0\u1ee3c l\u1eb7p qua t\u01b0\u01a1ng t\u1ef1 nh\u01b0 m\u1ed9t m\u1ea3ng th\u00f4ng th\u01b0\u1eddng, do \u0111\u00f3 s\u1ebd kh\u00f4ng nh\u1eadn \u0111\u01b0\u1ee3c c\u00e1c ph\u1ea7n t\u1eed \u0111\u00e3 \u0111\u01b0\u1ee3c &#8220;g\u00f3i&#8221; s\u1eb5n b\u1eb1ng jQuery trong callback.<\/p>\n\n\n\n<p>Li\u00ean h\u1ec7 v\u1edbi v\u00ed d\u1ee5 th\u1ee9 hai \u1edf tr\u00ean, \u0111i\u1ec1u n\u00e0y c\u00f3 ngh\u0129a l\u00e0 b\u1ea1n c\u00f3 th\u1ec3 truy c\u1eadp thu\u1ed9c t\u00ednh href b\u1eb1ng c\u00e1ch vi\u1ebft this.href. N\u1ebfu mu\u1ed1n s\u1eed d\u1ee5ng ph\u01b0\u01a1ng th\u1ee9c attr() c\u1ee7a jQuery, ta c\u1ea7n bao l\u1ea1i ph\u1ea7n t\u1eed b\u1eb1ng jQuery nh\u01b0 sau:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$(this).attr('href')<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-vi-d\u1ee5-v\u1ec1-m\u1ea3ng-array-khi-dung-each-jquery\"><strong>V\u00ed d\u1ee5 v\u1ec1 m\u1ea3ng (array) khi d\u00f9ng each() jQuery<\/strong><\/h3>\n\n\n\n<p>D\u01b0\u1edbi \u0111\u00e2y l\u00e0 v\u00ed d\u1ee5 v\u1ec1 c\u00e1ch m\u1ed9t m\u1ea3ng th\u00f4ng th\u01b0\u1eddng c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c x\u1eed l\u00fd:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>const numbers = &#91;1, 2, 3, 4, 5];\n\n$.each(numbers, function(index, value){\n\n&nbsp;&nbsp;console.log(`${index}: ${value}`);\n\n});<\/code><\/pre>\n\n\n\n<p>\u0110o\u1ea1n m\u00e3 n\u00e0y s\u1ebd in ra:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">0:1&nbsp;&nbsp;<br><br>1:2&nbsp;&nbsp;<br><br>2:3&nbsp;&nbsp;<br><br>3:4&nbsp;&nbsp;<br><br>4:5<\/pre>\n\n\n\n<p>So s\u00e1nh v\u1edbi native JavaScript:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ Modern JavaScript alternative\n\nnumbers.forEach((value, index) =&gt; {\n&nbsp;&nbsp;&nbsp;&nbsp;console.log(`${index}: ${value}`);\n});\n\n\/\/ Ho\u1eb7c v\u1edbi for...of\n\nfor (const &#91;index, value] of numbers.entries()) {\n&nbsp;&nbsp;&nbsp;&nbsp;console.log(`${index}: ${value}`);\n}<\/code><\/pre>\n\n\n\n<p>Nh\u00ecn chung, \u0111o\u1ea1n m\u00e3 tr\u00ean kh\u00f4ng c\u00f3 g\u00ec \u0111\u1eb7c bi\u1ec7t. M\u1ed9t m\u1ea3ng th\u00f4ng th\u01b0\u1eddng s\u1eed d\u1ee5ng ch\u1ec9 s\u1ed1 d\u1ea1ng s\u1ed1 (numeric indices). V\u00ec v\u1eady, khi hi\u1ec3n th\u1ecb, b\u1ea1n s\u1ebd nh\u1eadn \u0111\u01b0\u1ee3c c\u00e1c ch\u1ec9 s\u1ed1 b\u1eaft \u0111\u1ea7u t\u1eeb 0 v\u00e0 t\u0103ng d\u1ea7n \u0111\u1ebfn N-1, trong \u0111\u00f3 N l\u00e0 s\u1ed1 ph\u1ea7n t\u1eed trong m\u1ea3ng.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-vi-d\u1ee5-v\u1ec1-jquery-each-json-nbsp\"><strong>V\u00ed d\u1ee5 v\u1ec1 jQuery each() JSON&nbsp;<\/strong><\/h3>\n\n\n\n<p>B\u1ea1n c\u00f3 th\u1ec3 g\u1eb7p ph\u1ea3i c\u00e1c c\u1ea5u tr\u00fac d\u1eef li\u1ec7u ph\u1ee9c t\u1ea1p h\u01a1n, ch\u1eb3ng h\u1ea1n nh\u01b0 m\u1ea3ng l\u1ed3ng trong m\u1ea3ng, \u0111\u1ed1i t\u01b0\u1ee3ng l\u1ed3ng trong \u0111\u1ed1i t\u01b0\u1ee3ng, m\u1ea3ng trong \u0111\u1ed1i t\u01b0\u1ee3ng ho\u1eb7c \u0111\u1ed1i t\u01b0\u1ee3ng trong m\u1ea3ng. D\u01b0\u1edbi \u0111\u00e2y l\u00e0 v\u00ed d\u1ee5 v\u1ec1 c\u00e1ch <code>jQuery.each()<\/code> c\u00f3 th\u1ec3 gi\u00fap x\u1eed l\u00fd c\u00e1c tr\u01b0\u1eddng h\u1ee3p n\u00e0y.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>const colors = &#91;\n&nbsp;&nbsp;{ 'red': '#f00' },\n&nbsp;&nbsp;{ 'green': '#0f0' },\n&nbsp;&nbsp;{ 'blue': '#00f' }\n];\n\n$.each(colors, function() {\n&nbsp;&nbsp;$.each(this, function(name, value) {\n&nbsp;&nbsp;&nbsp;&nbsp;console.log(`${name} = ${value}`);\n&nbsp;&nbsp;});\n});<\/code><\/pre>\n\n\n\n<p>K\u1ebft qu\u1ea3 in ra s\u1ebd l\u00e0:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">red = #f00&nbsp;&nbsp;<br><br>green = #0f0&nbsp;&nbsp;<br><br>blue = #00f<\/pre>\n\n\n\n<p>So s\u00e1nh v\u1edbi c\u00e1ch ti\u1ebfp c\u1eadn hi\u1ec7n \u0111\u1ea1i:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ ES6+ approach\n\ncolors.forEach((colorObj, index) =&gt; {\n&nbsp;&nbsp;&nbsp;&nbsp;Object.entries(colorObj).forEach((&#91;name, value]) =&gt; {\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(`${name} = ${value}`);\n&nbsp;&nbsp;&nbsp;&nbsp;});\n});<\/code><\/pre>\n\n\n\n<p>B\u1ea1n x\u1eed l\u00fd c\u1ea5u tr\u00fac l\u1ed3ng nhau b\u1eb1ng c\u00e1ch g\u1ecdi l\u1ed3ng nhau <code>jQuery.each()<\/code>. L\u1ea7n g\u1ecdi b\u00ean ngo\u00e0i x\u1eed l\u00fd m\u1ea3ng ch\u1ee9a trong bi\u1ebfn colors; l\u1ea7n g\u1ecdi b\u00ean trong x\u1eed l\u00fd t\u1eebng \u0111\u1ed1i t\u01b0\u1ee3ng trong m\u1ea3ng. Trong v\u00ed d\u1ee5 n\u00e0y, m\u1ed7i \u0111\u1ed1i t\u01b0\u1ee3ng ch\u1ec9 ch\u1ee9a m\u1ed9t c\u1eb7p key-value, nh\u01b0ng trong th\u1ef1c t\u1ebf, \u0111o\u1ea1n m\u00e3 n\u00e0y c\u00f3 th\u1ec3 x\u1eed l\u00fd b\u1ea5t k\u1ef3 s\u1ed1 l\u01b0\u1ee3ng thu\u1ed9c t\u00ednh n\u00e0o trong t\u1eebng \u0111\u1ed1i t\u01b0\u1ee3ng.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-vi-d\u1ee5-v\u1ec1-jquery-each-class\"><strong>V\u00ed d\u1ee5 v\u1ec1 jQuery each() class<\/strong><\/h3>\n\n\n\n<p>D\u01b0\u1edbi \u0111\u00e2y l\u00e0 v\u00ed d\u1ee5 minh h\u1ecda c\u00e1ch l\u1eb7p qua t\u1eebng ph\u1ea7n t\u1eed c\u00f3 class <code>productDescription<\/code> trong \u0111o\u1ea1n HTML b\u00ean d\u01b0\u1edbi:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;div class=\"productDescription\"&gt;Red&lt;\/div&gt;\n\n&lt;div&gt;Pink&lt;\/div&gt;\n\n&lt;div class=\"productDescription\"&gt;Orange&lt;\/div&gt;\n\n&lt;div class=\"generalDescription\"&gt;Teal&lt;\/div&gt;\n\n&lt;div class=\"productDescription\"&gt;Green&lt;\/div&gt;<\/code><\/pre>\n\n\n\n<p>B\u1ea1n s\u1eed d\u1ee5ng h\u00e0m h\u1ed7 tr\u1ee3 <code>$.each()<\/code> thay v\u00ec ph\u01b0\u01a1ng th\u1ee9c <code>.each()<\/code> tr\u1ef1c ti\u1ebfp tr\u00ean selector:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$.each($('.productDescription'), function(index, value) {\n\n&nbsp;&nbsp;console.log(index + ':' + $(value).text());\n\n});<\/code><\/pre>\n\n\n\n<p>Trong tr\u01b0\u1eddng h\u1ee3p n\u00e0y, k\u1ebft qu\u1ea3 in ra l\u00e0:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">0:Red&nbsp;&nbsp;<br><br>1:Orange&nbsp;&nbsp;<br><br>2:Green<\/pre>\n\n\n\n<p>Kh\u00f4ng b\u1eaft bu\u1ed9c ph\u1ea3i truy\u1ec1n index v\u00e0 value, \u0111\u00f3 ch\u1ec9 l\u00e0 c\u00e1c tham s\u1ed1 gi\u00fap x\u00e1c \u0111\u1ecbnh ph\u1ea7n t\u1eed DOM hi\u1ec7n t\u1ea1i \u0111ang \u0111\u01b0\u1ee3c l\u1eb7p. Ngo\u00e0i ra, trong t\u00ecnh hu\u1ed1ng n\u00e0y, b\u1ea1n c\u0169ng c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng c\u00fa ph\u00e1p ti\u1ec7n l\u1ee3i h\u01a1n v\u1edbi ph\u01b0\u01a1ng th\u1ee9c <code>.each()<\/code> nh\u01b0 sau:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$('.productDescription').each(function() {\n\n&nbsp;&nbsp;console.log($(this).text());\n\n});<\/code><\/pre>\n\n\n\n<p>V\u00e0 k\u1ebft qu\u1ea3 tr\u00ean console s\u1ebd l\u00e0:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">mathematica<br><br>Copy<br><br>Edit<br><br>Red&nbsp;&nbsp;<br><br>Orange&nbsp;&nbsp;<br><br>Green<\/pre>\n\n\n\n<p>L\u01b0u \u00fd r\u1eb1ng b\u1ea1n \u0111ang bao ph\u1ea7n t\u1eed DOM trong m\u1ed9t \u0111\u1ed1i t\u01b0\u1ee3ng jQuery m\u1edbi (<code>$(this)<\/code>) \u0111\u1ec3 c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng ph\u01b0\u01a1ng th\u1ee9c .text() v\u00e0 l\u1ea5y ra n\u1ed9i dung v\u0103n b\u1ea3n c\u1ee7a ph\u1ea7n t\u1eed.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-so-sanh-javascript-foreach-va-jquery-each\"><span class=\"ez-toc-section\" id=\"So_sanh_JavaScript_forEach_va_jQuery_each\"><\/span><strong>So s\u00e1nh: JavaScript .forEach() v\u00e0 jQuery .each()<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>C\u1ea3 <code>.forEach()<\/code> trong <a href=\"https:\/\/itviec.com\/blog\/javascript-la-gi\/\" target=\"_blank\" rel=\"noreferrer noopener\">JavaScript<\/a> v\u00e0 <code>.each()<\/code> trong jQuery \u0111\u1ec1u l\u00e0 nh\u1eefng ph\u01b0\u01a1ng th\u1ee9c ph\u1ed5 bi\u1ebfn d\u00f9ng \u0111\u1ec3 l\u1eb7p qua c\u00e1c ph\u1ea7n t\u1eed trong m\u1ea3ng ho\u1eb7c danh s\u00e1ch. Tuy nhi\u00ean, ch\u00fang \u0111\u01b0\u1ee3c thi\u1ebft k\u1ebf \u0111\u1ec3 ph\u1ee5c v\u1ee5 c\u00e1c m\u1ee5c \u0111\u00edch h\u01a1i kh\u00e1c nhau v\u00e0 ho\u1ea1t \u0111\u1ed9ng trong c\u00e1c ng\u1eef c\u1ea3nh kh\u00e1c nhau. \u0110\u1ec3 l\u1ef1a ch\u1ecdn \u0111\u01b0\u1ee3c c\u00f4ng c\u1ee5 ph\u00f9 h\u1ee3p, b\u1ea1n c\u1ea7n hi\u1ec3u r\u00f5 \u0111i\u1ec3m gi\u1ed1ng v\u00e0 kh\u00e1c nhau gi\u1eefa hai ph\u01b0\u01a1ng th\u1ee9c n\u00e0y.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><em>Xem chi ti\u1ebft: <\/em><a href=\"https:\/\/itviec.com\/blog\/foreach-javascript-la-gi\/\" target=\"_blank\" rel=\"noreferrer noopener\"><em><strong>forEach JavaScript: M\u1ed9t s\u1ed1 thao t\u00e1c c\u01a1 b\u1ea3n v\u00e0 v\u00ed d\u1ee5 chi ti\u1ebft<\/strong><\/em><\/a><\/p>\n<\/blockquote>\n\n\n\n<p>D\u01b0\u1edbi \u0111\u00e2y l\u00e0 m\u1ed9t s\u1ed1 \u0111i\u1ec3m kh\u00e1c bi\u1ec7t gi\u1eefa 2 ph\u01b0\u01a1ng th\u1ee9c n\u00e0y<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>T\u00ednh n\u0103ng<\/strong><\/td><td><strong><code>$.each()<\/code> (jQuery)<\/strong><\/td><td><strong><code>forEach()<\/code> (JavaScript)<\/strong><\/td><\/tr><tr><td>Ph\u00f9 h\u1ee3p<\/td><td>M\u1ea3ng &amp; \u0111\u1ed1i t\u01b0\u1ee3ng<\/td><td>Ch\u1ec9 \u00e1p d\u1ee5ng cho m\u1ea3ng v\u00e0 c\u00e1c \u0111\u1ed1i t\u01b0\u1ee3ng d\u1ea1ng m\u1ea3ng&nbsp;<\/td><\/tr><tr><td>Gi\u00e1 tr\u1ecb tr\u1ea3 v\u1ec1<\/td><td>C\u00f3 th\u1ec3 return false \u0111\u1ec3 d\u1eebng v\u00f2ng l\u1eb7p<\/td><td>Kh\u00f4ng th\u1ec3 d\u1eebng v\u00f2ng l\u1eb7p<\/td><\/tr><tr><td>C\u00fa ph\u00e1p<\/td><td><code>$.each(arrayOrObject, function(index, value) { ... })<\/code><\/td><td><code>array.forEach(function(value, index) { ... })<\/code><\/td><\/tr><tr><td>Gi\u00e1 tr\u1ecb tr\u1ea3 v\u1ec1<\/td><td>Kh\u00f4ng c\u00f3 gi\u00e1 tr\u1ecb tr\u1ea3 v\u1ec1 (ch\u1ec9 l\u1eb7p qua ph\u1ea7n t\u1eed)<\/td><td>Tr\u1ea3 v\u1ec1 undefined, kh\u00f4ng c\u00f3 gi\u00e1 tr\u1ecb tr\u1ea3 v\u1ec1<\/td><\/tr><tr><td>D\u1eebng v\u00f2ng l\u1eb7p<\/td><td>Kh\u00f4ng th\u1ec3 tho\u00e1t kh\u1ecfi v\u00f2ng l\u1eb7p b\u1eb1ng <code>break<\/code> ho\u1eb7c <code>return<\/code><\/td><td>Kh\u00f4ng th\u1ec3 d\u1eebng (ph\u1ea3i d\u00f9ng <code>for loop<\/code> ho\u1eb7c <code>some\/every<\/code>)<\/td><\/tr><tr><td>Ph\u1ea1m vi (scope)<\/td><td>H\u00e0m <code>callback<\/code> nh\u1eadn ph\u1ea7n t\u1eed hi\u1ec7n t\u1ea1i d\u01b0\u1edbi d\u1ea1ng this<\/td><td>H\u00e0m <code>callback<\/code> nh\u1eadn ph\u1ea7n t\u1eed hi\u1ec7n t\u1ea1i l\u00e0 gi\u00e1 tr\u1ecb value<\/td><\/tr><tr><td>Hi\u1ec7u su\u1ea5t<\/td><td>Ch\u1eadm h\u01a1n m\u1ed9t ch\u00fat so v\u1edbi <code>forEach()<\/code> do c\u00f3 l\u1edbp jQuery bao b\u1ecdc<\/td><td>Nhanh h\u01a1n (native JavaScript)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-d\u1ecbnh-nghia-v\u1ec1-2-ph\u01b0\u01a1ng-th\u1ee9c\"><strong>\u0110\u1ecbnh ngh\u0129a v\u1ec1 2 ph\u01b0\u01a1ng th\u1ee9c<\/strong><\/h3>\n\n\n\n<p><code>.forEach()<\/code> l\u00e0 ph\u01b0\u01a1ng th\u1ee9c g\u1ed1c (native method) c\u1ee7a JavaScript, thu\u1ed9c v\u1ec1 \u0111\u1ed1i t\u01b0\u1ee3ng Array.<\/p>\n\n\n\n<p>Ph\u01b0\u01a1ng th\u1ee9c n\u00e0y th\u1ef1c thi m\u1ed9t h\u00e0m <code>callback<\/code> v\u1edbi t\u1eebng ph\u1ea7n t\u1eed trong m\u1ea3ng <code>.forEach()<\/code> kh\u00f4ng l\u00e0m thay \u0111\u1ed5i (mutate) m\u1ea3ng g\u1ed1c v\u00e0 lu\u00f4n tr\u1ea3 v\u1ec1 undefined. V\u00ed d\u1ee5 trong \u0111o\u1ea1n m\u00e3 JavaScript d\u01b0\u1edbi \u0111\u00e2y, s\u1ebd in ra: &#8216;a&#8217;, &#8216;b&#8217; v\u00e0 &#8216;c&#8217; trong c\u1eeda s\u1ed5 console.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>var arr = &#91;'a', 'b', 'c'];\n\narr.forEach(function(element) {\n\n&nbsp;&nbsp;&nbsp;&nbsp;console.log(element);\n\n});\n\n\/\/ Output: 0: a, 1: b, 2: c<\/code><\/pre>\n\n\n\n<p>Modern ES6+ syntax:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>const arr = &#91;'a', 'b', 'c'];\n\narr.forEach((element, index) =&gt; {\n\n&nbsp;&nbsp;&nbsp;&nbsp;console.log(`${index}: ${element}`);\n\n});<\/code><\/pre>\n\n\n\n<p>jQuery c\u00f3 hai ph\u01b0\u01a1ng th\u1ee9c <code>each()<\/code> kh\u00e1c nhau: <code>$.each()<\/code> (utility function) v\u00e0 <code>$().each()<\/code> (method), d\u00f9ng \u0111\u1ec3 l\u1eb7p qua m\u1ea3ng, objects ho\u1eb7c t\u1eadp h\u1ee3p c\u00e1c ph\u1ea7n t\u1eed DOM \u0111\u00e3 ch\u1ecdn. V\u00ed d\u1ee5:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ $.each() - Utility function\n\nvar arr = &#91;'a', 'b', 'c'];\n\n$.each(arr , function (index, value){\n\n&nbsp;&nbsp;console.log(value);\n\n});\n\n\/\/ $().each() - jQuery object method&nbsp;&nbsp;\n\n$('div').each(function(index, element) {\n\n&nbsp;&nbsp;console.log(`${index}: ${$(this).text()}`);\n\n});<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-l\u1eb7p-qua-cac-ph\u1ea7n-t\u1eed-dom\"><strong>L\u1eb7p qua c\u00e1c ph\u1ea7n t\u1eed DOM<\/strong><\/h3>\n\n\n\n<p>\u0110\u1ed1i v\u1edbi <code>.forEach()<\/code> trong JavaScript, gi\u1ea3 s\u1eed b\u1ea1n mu\u1ed1n l\u1ea5y t\u1ea5t c\u1ea3 c\u00e1c th\u1ebb <code>&lt;a&gt;<\/code> (anchor) tr\u00ean trang web v\u00e0 l\u1eb7p qua t\u1eebng th\u1ebb.&nbsp;<\/p>\n\n\n\n<p>Trong tr\u01b0\u1eddng h\u1ee3p n\u00e0y, tr\u01b0\u1edbc ti\u00ean b\u1ea1n c\u1ea7n s\u1eed d\u1ee5ng <code>document.getElementsByTagName(\"a\")<\/code> \u0111\u1ec3 l\u1ea5y t\u1ea5t c\u1ea3 c\u00e1c th\u1ebb <code>&lt;a&gt;<\/code>, sau \u0111\u00f3 ph\u1ea3i chuy\u1ec3n \u0111\u1ed5i k\u1ebft qu\u1ea3 th\u00e0nh m\u1ed9t m\u1ea3ng, v\u00ec ph\u01b0\u01a1ng th\u1ee9c <code>.forEach()<\/code> c\u1ee7a JavaScript ch\u1ec9 ho\u1ea1t \u0111\u1ed9ng v\u1edbi m\u1ea3ng.<\/p>\n\n\n\n<p>Xem \u0111o\u1ea1n m\u00e3 d\u01b0\u1edbi \u0111\u00e2y \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng ph\u01b0\u01a1ng th\u1ee9c <code>Array.from()<\/code> \u0111\u1ec3 chuy\u1ec3n \u0111\u1ed5i sang m\u1ea3ng:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>var links = document.getElementsByTagName(\"a\");\n\nvar Arr = Array.from(links);\n\nArr.forEach(someFunction);\n\nfunction someFunction(currentValue) {\n&nbsp;&nbsp;&nbsp;&nbsp;console.log(currentValue);\n}<\/code><\/pre>\n\n\n\n<p>C\u00f2n \u0111\u1ed1i v\u1edbi ph\u01b0\u01a1ng th\u1ee9c <code>.each()<\/code> trong jQuery, b\u1ea1n c\u00f3 th\u1ec3 l\u1eb7p tr\u1ef1c ti\u1ebfp qua t\u1ea5t c\u1ea3 c\u00e1c th\u1ebb <code>&lt;a&gt;<\/code> nh\u01b0 v\u00ed d\u1ee5 b\u00ean d\u01b0\u1edbi. Ph\u01b0\u01a1ng th\u1ee9c n\u00e0y c\u00f3 th\u1ec3 l\u1eb7p qua m\u1ea3ng, m\u1ea3ng \u0111\u1ed1i t\u01b0\u1ee3ng, ho\u1eb7c t\u1eadp h\u1ee3p c\u00e1c ph\u1ea7n t\u1eed DOM \u0111\u00e3 \u0111\u01b0\u1ee3c ch\u1ecdn. V\u00ec v\u1eady, b\u1ea1n kh\u00f4ng c\u1ea7n chuy\u1ec3n \u0111\u1ed5i sang m\u1ea3ng nh\u01b0 khi d\u00f9ng <code>.forEach()<\/code> c\u1ee7a JavaScript.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$(\"a\").each(function (index, value) {\n\n&nbsp;&nbsp;console.log($(this).attr(\"href\"));\n\n});<\/code><\/pre>\n\n\n\n<p>\u1ede v\u00ed d\u1ee5 tr\u00ean, b\u1ea1n c\u00f3 th\u1ec3 th\u1ea5y r\u1eb1ng trong tr\u01b0\u1eddng h\u1ee3p n\u00e0y, s\u1ed1 d\u00f2ng m\u00e3 \u00edt h\u01a1n \u0111\u00e1ng k\u1ec3 so v\u1edbi khi s\u1eed d\u1ee5ng <code>.forEach()<\/code> trong JavaScript.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-nen-ch\u1ecdn-ph\u01b0\u01a1ng-th\u1ee9c-nao\"><strong>N\u00ean ch\u1ecdn ph\u01b0\u01a1ng th\u1ee9c n\u00e0o?<\/strong><\/h3>\n\n\n\n<p>B\u1ea1n n\u00ean ch\u1ecdn ph\u01b0\u01a1ng th\u1ee9c <code>each()<\/code> c\u1ee7a jQuery trong hai tr\u01b0\u1eddng h\u1ee3p sau:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Khi l\u00e0m vi\u1ec7c v\u1edbi c\u00e1c ph\u1ea7n t\u1eed DOM, khi \u0111\u00f3 ph\u01b0\u01a1ng th\u1ee9c <code>each()<\/code> c\u1ee7a jQuery c\u00f3 l\u1ee3i th\u1ebf l\u1edbn v\u00ec gi\u00fap gi\u1ea3m \u0111\u00e1ng k\u1ec3 s\u1ed1 d\u00f2ng m\u00e3.<\/li>\n\n\n\n<li>N\u1ebfu website \u0111\u00e3 s\u1eed d\u1ee5ng jQuery t\u1eeb tr\u01b0\u1edbc, vi\u1ec7c s\u1eed d\u1ee5ng <code>each()<\/code> c\u1ee7a jQuery s\u1ebd \u0111\u1ea3m b\u1ea3o t\u00ednh nh\u1ea5t qu\u00e1n trong m\u00e3 ngu\u1ed3n c\u1ee7a d\u1ef1 \u00e1n.&nbsp;<\/li>\n<\/ul>\n\n\n\n<p>Trong t\u1ea5t c\u1ea3 c\u00e1c tr\u01b0\u1eddng h\u1ee3p c\u00f2n l\u1ea1i, b\u1ea1n n\u00ean s\u1eed d\u1ee5ng ph\u01b0\u01a1ng th\u1ee9c <code>.forEach()<\/code> c\u1ee7a JavaScript.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-cac-cau-h\u1ecfi-th\u01b0\u1eddng-g\u1eb7p-v\u1ec1-each-trong-jquery\"><span class=\"ez-toc-section\" id=\"Cac_cau_hoi_thuong_gap_ve_each_trong_jQuery\"><\/span><strong>C\u00e1c c\u00e2u h\u1ecfi th\u01b0\u1eddng g\u1eb7p v\u1ec1 each() trong jQuery<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-cac-tham-s\u1ed1-c\u1ee7a-ham-callback-s\u1eed-d\u1ee5ng-v\u1edbi-each-la-gi\"><strong>C\u00e1c tham s\u1ed1 c\u1ee7a h\u00e0m callback s\u1eed d\u1ee5ng v\u1edbi .each() l\u00e0 g\u00ec?<\/strong><\/h3>\n\n\n\n<p>H\u00e0m <code>callback<\/code> trong <code>.each()<\/code> nh\u1eadn hai tham s\u1ed1 ch\u00ednh:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>index<\/code>: <\/strong>V\u1ecb tr\u00ed c\u1ee7a ph\u1ea7n t\u1eed trong v\u00f2ng l\u1eb7p (b\u1eaft \u0111\u1ea7u t\u1eeb 0).<\/li>\n\n\n\n<li><strong><code>element<\/code>:<\/strong> Ph\u1ea7n t\u1eed hi\u1ec7n t\u1ea1i trong v\u00f2ng l\u1eb7p (ph\u1ea7n t\u1eed DOM, kh\u00f4ng ph\u1ea3i jQuery object).<\/li>\n<\/ul>\n\n\n\n<p>V\u00ed d\u1ee5:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$('li').each(function(index, element) {\n\n&nbsp;&nbsp;console.log('Ph\u1ea7n t\u1eed th\u1ee9 ' + index + ': ' + $(element).text());\n\n});<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-s\u1eed-d\u1ee5ng-ham-each-trong-jquery-nh\u01b0-th\u1ebf-nao\"><strong>S\u1eed d\u1ee5ng h\u00e0m .each() trong jQuery nh\u01b0 th\u1ebf n\u00e0o?<\/strong><\/h3>\n\n\n\n<p>B\u1ea1n c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng h\u00e0m <code>.each()<\/code> b\u1eb1ng c\u00e1ch ch\u1ecdn m\u1ed9t t\u1eadp h\u1ee3p c\u00e1c ph\u1ea7n t\u1eed v\u1edbi jQuery selector, sau \u0111\u00f3 g\u1ecdi <code>.each()<\/code> tr\u00ean l\u1ef1a ch\u1ecdn \u0111\u00f3. B\u1ea1n cung c\u1ea5p m\u1ed9t h\u00e0m g\u1ecdi l\u1ea1i x\u00e1c \u0111\u1ecbnh h\u00e0nh \u0111\u1ed9ng s\u1ebd \u0111\u01b0\u1ee3c th\u1ef1c hi\u1ec7n tr\u00ean m\u1ed7i ph\u1ea7n t\u1eed. V\u00ed d\u1ee5:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$('p').each(function() {\n\n&nbsp;&nbsp;$(this).css('color', 'blue');\n\n});<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-s\u1eed-d\u1ee5ng-tham-s\u1ed1-index-trong-ham-callback-c\u1ee7a-each-nh\u01b0-th\u1ebf-nao\"><strong>S\u1eed d\u1ee5ng tham s\u1ed1 index trong h\u00e0m callback c\u1ee7a .each() nh\u01b0 th\u1ebf n\u00e0o?<\/strong><\/h3>\n\n\n\n<p>Tham s\u1ed1 index \u0111\u1ea1i di\u1ec7n cho v\u1ecb tr\u00ed c\u1ee7a ph\u1ea7n t\u1eed trong t\u1eadp h\u1ee3p \u0111\u01b0\u1ee3c l\u1eb7p. B\u1ea1n c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng index \u0111\u1ec3 \u0111\u00e1nh s\u1ed1 th\u1ee9 t\u1ef1, \u00e1p d\u1ee5ng ki\u1ec3u d\u00e1ng kh\u00e1c nhau cho c\u00e1c ph\u1ea7n t\u1eed ch\u1eb5n\/l\u1ebb, ho\u1eb7c t\u1ea1o ID \u0111\u1ed9ng.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-m\u1ed9t-s\u1ed1-tr\u01b0\u1eddng-h\u1ee3p-s\u1eed-d\u1ee5ng-ph\u1ed5-bi\u1ebfn-c\u1ee7a-ham-each-la-gi\"><strong>M\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p s\u1eed d\u1ee5ng ph\u1ed5 bi\u1ebfn c\u1ee7a h\u00e0m .each() l\u00e0 g\u00ec?<\/strong><\/h3>\n\n\n\n<p>C\u00e1c tr\u01b0\u1eddng h\u1ee3p s\u1eed d\u1ee5ng ph\u1ed5 bi\u1ebfn bao g\u1ed3m<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>L\u1eb7p qua danh s\u00e1ch c\u00e1c ph\u1ea7n t\u1eed \u0111\u1ec3 thao t\u00e1c v\u1edbi thu\u1ed9c t\u00ednh, gi\u00e1 tr\u1ecb ho\u1eb7c ki\u1ec3u d\u00e1ng.&nbsp;<\/li>\n\n\n\n<li>Th\u1ef1c hi\u1ec7n c\u00e1c h\u00e0nh \u0111\u1ed9ng t\u00f9y ch\u1ec9nh tr\u00ean t\u1eebng ph\u1ea7n t\u1eed trong m\u1ed9t t\u1eadp h\u1ee3p.<\/li>\n\n\n\n<li>Duy\u1ec7t qua danh s\u00e1ch th\u1ebb HTML \u0111\u1ec3 c\u1eadp nh\u1eadt n\u1ed9i dung.<\/li>\n\n\n\n<li>G\u00e1n s\u1ef1 ki\u1ec7n cho nhi\u1ec1u ph\u1ea7n t\u1eed c\u00f9ng l\u00fac.<\/li>\n\n\n\n<li>Thay \u0111\u1ed5i style h\u00e0ng lo\u1ea1t.<\/li>\n\n\n\n<li>Ki\u1ec3m tra d\u1eef li\u1ec7u \u0111\u1ea7u v\u00e0o t\u1eeb c\u00e1c tr\u01b0\u1eddng form.<\/li>\n\n\n\n<li>T\u1ea1o hi\u1ec7u \u1ee9ng \u0111\u1ed3ng lo\u1ea1t.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-t\u1ed5ng-k\u1ebft-v\u1ec1-each-jquery\"><span class=\"ez-toc-section\" id=\"Tong_ket_ve_each_jQuery\"><\/span><strong>T\u1ed5ng k\u1ebft v\u1ec1 each() jQuery<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p><strong><code>each<\/code> jQuery<\/strong> l\u00e0 m\u1ed9t c\u00f4ng c\u1ee5 b\u1ea5t k\u1ef3 l\u1eadp tr\u00ecnh vi\u00ean n\u00e0o c\u0169ng n\u00ean n\u1eafm v\u1eefng khi l\u00e0m vi\u1ec7c v\u1edbi jQuery. Kh\u00f4ng ch\u1ec9 gi\u00fap \u0111\u01a1n gi\u1ea3n h\u00f3a qu\u00e1 tr\u00ecnh duy\u1ec7t d\u1eef li\u1ec7u, <code>each()<\/code> c\u00f2n t\u0103ng kh\u1ea3 n\u0103ng t\u01b0\u01a1ng t\u00e1c v\u1edbi DOM m\u1ed9t c\u00e1ch linh ho\u1ea1t v\u00e0 hi\u1ec7u qu\u1ea3. Hy v\u1ecdng qua b\u00e0i vi\u1ebft, b\u1ea1n \u0111\u00e3 hi\u1ec3u r\u00f5 v\u1ec1 c\u00e1ch s\u1eed d\u1ee5ng <code>each()<\/code>, tr\u00e1nh \u0111\u01b0\u1ee3c c\u00e1c l\u1ed7i th\u01b0\u1eddng g\u1eb7p v\u00e0 t\u1eadn d\u1ee5ng t\u1ed1i \u0111a ti\u1ec1m n\u0103ng c\u1ee7a ph\u01b0\u01a1ng th\u1ee9c n\u00e0y nh\u00e9.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>each jQuery l\u00e0 m\u1ed9t ph\u01b0\u01a1ng th\u1ee9c \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng ph\u1ed5 bi\u1ebfn trong vi\u1ec7c l\u1eb7p qua m\u1ea3ng, \u0111\u1ed1i t\u01b0\u1ee3ng ho\u1eb7c t\u1eadp h\u1ee3p c\u00e1c ph\u1ea7n t\u1eed DOM. V\u1edbi c\u00fa ph\u00e1p \u0111\u01a1n gi\u1ea3n nh\u01b0ng c\u1ef1c k\u1ef3 m\u1ea1nh m\u1ebd, each() gi\u00fap l\u1eadp tr\u00ecnh vi\u00ean x\u1eed l\u00fd kh\u1ed1i l\u01b0\u1ee3ng d\u1eef li\u1ec7u l\u1edbn m\u1ed9t c\u00e1ch hi\u1ec7u qu\u1ea3, \u0111\u1ed3ng th\u1eddi v\u1eabn gi\u1eef [&hellip;]<\/p>\n","protected":false},"author":207,"featured_media":90274,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_gspb_post_css":"","footnotes":""},"categories":[109,10344],"tags":[10346],"class_list":["post-90100","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-chuyen-mon-it","category-javascript","tag-jquery"],"blocksy_meta":[],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.8 (Yoast SEO v27.8) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>each jQuery: C\u00fa ph\u00e1p, v\u00ed d\u1ee5, l\u1ed7i th\u01b0\u1eddng g\u1eb7p - ITviec Blog<\/title>\n<meta name=\"description\" content=\"N\u1eafm r\u00f5 c\u00e1ch d\u00f9ng jQuery each(), ph\u00e2n bi\u1ec7t $(selector).each v\u00e0 $.each, so s\u00e1nh v\u1edbi forEach() c\u1ee7a JavaScript. Th\u1ef1c h\u00e0nh ngay v\u1edbi v\u00ed d\u1ee5 d\u1ec5 hi\u1ec3u!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/itviec.com\/blog\/huong-dan-su-dung-each-jquery\/\" \/>\n<meta property=\"og:locale\" content=\"vi_VN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"each jQuery: C\u00fa ph\u00e1p, v\u00ed d\u1ee5, l\u1ed7i th\u01b0\u1eddng g\u1eb7p\" \/>\n<meta property=\"og:description\" content=\"each jQuery l\u00e0 m\u1ed9t ph\u01b0\u01a1ng th\u1ee9c \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng ph\u1ed5 bi\u1ebfn trong vi\u1ec7c l\u1eb7p qua m\u1ea3ng, \u0111\u1ed1i t\u01b0\u1ee3ng ho\u1eb7c t\u1eadp h\u1ee3p c\u00e1c ph\u1ea7n t\u1eed DOM. V\u1edbi c\u00fa ph\u00e1p \u0111\u01a1n gi\u1ea3n nh\u01b0ng c\u1ef1c k\u1ef3\" \/>\n<meta property=\"og:url\" content=\"https:\/\/itviec.com\/blog\/huong-dan-su-dung-each-jquery\/\" \/>\n<meta property=\"og:site_name\" content=\"ITviec Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/ITviec\" \/>\n<meta property=\"article:published_time\" content=\"2025-07-31T15:20:54+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-07-31T15:21:34+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/07\/each-jquery-scaled.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1347\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Uyen Ngo\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@ITviec\" \/>\n<meta name=\"twitter:site\" content=\"@ITviec\" \/>\n<meta name=\"twitter:label1\" content=\"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi\" \/>\n\t<meta name=\"twitter:data1\" content=\"Uyen Ngo\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc\" \/>\n\t<meta name=\"twitter:data2\" content=\"15 ph\u00fat\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"each jQuery: C\u00fa ph\u00e1p, v\u00ed d\u1ee5, l\u1ed7i th\u01b0\u1eddng g\u1eb7p - ITviec Blog","description":"N\u1eafm r\u00f5 c\u00e1ch d\u00f9ng jQuery each(), ph\u00e2n bi\u1ec7t $(selector).each v\u00e0 $.each, so s\u00e1nh v\u1edbi forEach() c\u1ee7a JavaScript. Th\u1ef1c h\u00e0nh ngay v\u1edbi v\u00ed d\u1ee5 d\u1ec5 hi\u1ec3u!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/itviec.com\/blog\/huong-dan-su-dung-each-jquery\/","og_locale":"vi_VN","og_type":"article","og_title":"each jQuery: C\u00fa ph\u00e1p, v\u00ed d\u1ee5, l\u1ed7i th\u01b0\u1eddng g\u1eb7p","og_description":"each jQuery l\u00e0 m\u1ed9t ph\u01b0\u01a1ng th\u1ee9c \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng ph\u1ed5 bi\u1ebfn trong vi\u1ec7c l\u1eb7p qua m\u1ea3ng, \u0111\u1ed1i t\u01b0\u1ee3ng ho\u1eb7c t\u1eadp h\u1ee3p c\u00e1c ph\u1ea7n t\u1eed DOM. V\u1edbi c\u00fa ph\u00e1p \u0111\u01a1n gi\u1ea3n nh\u01b0ng c\u1ef1c k\u1ef3","og_url":"https:\/\/itviec.com\/blog\/huong-dan-su-dung-each-jquery\/","og_site_name":"ITviec Blog","article_publisher":"https:\/\/www.facebook.com\/ITviec","article_published_time":"2025-07-31T15:20:54+00:00","article_modified_time":"2025-07-31T15:21:34+00:00","og_image":[{"width":2560,"height":1347,"url":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/07\/each-jquery-scaled.png","type":"image\/png"}],"author":"Uyen Ngo","twitter_card":"summary_large_image","twitter_creator":"@ITviec","twitter_site":"@ITviec","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Uyen Ngo","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"15 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/itviec.com\/blog\/huong-dan-su-dung-each-jquery\/#article","isPartOf":{"@id":"https:\/\/itviec.com\/blog\/huong-dan-su-dung-each-jquery\/"},"author":{"name":"Uyen Ngo","@id":"https:\/\/itviec.com\/blog\/#\/schema\/person\/f4cd1226846e0258c664e170d3e52d20"},"headline":"each jQuery: C\u00fa ph\u00e1p, v\u00ed d\u1ee5, l\u1ed7i th\u01b0\u1eddng g\u1eb7p","datePublished":"2025-07-31T15:20:54+00:00","dateModified":"2025-07-31T15:21:34+00:00","mainEntityOfPage":{"@id":"https:\/\/itviec.com\/blog\/huong-dan-su-dung-each-jquery\/"},"wordCount":3887,"publisher":{"@id":"https:\/\/itviec.com\/blog\/#organization"},"image":{"@id":"https:\/\/itviec.com\/blog\/huong-dan-su-dung-each-jquery\/#primaryimage"},"thumbnailUrl":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/07\/each-jquery-scaled.png","keywords":["jquery"],"articleSection":["Chuy\u00ean m\u00f4n IT","JavaScript"],"inLanguage":"vi"},{"@type":"WebPage","@id":"https:\/\/itviec.com\/blog\/huong-dan-su-dung-each-jquery\/","url":"https:\/\/itviec.com\/blog\/huong-dan-su-dung-each-jquery\/","name":"each jQuery: C\u00fa ph\u00e1p, v\u00ed d\u1ee5, l\u1ed7i th\u01b0\u1eddng g\u1eb7p - ITviec Blog","isPartOf":{"@id":"https:\/\/itviec.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/itviec.com\/blog\/huong-dan-su-dung-each-jquery\/#primaryimage"},"image":{"@id":"https:\/\/itviec.com\/blog\/huong-dan-su-dung-each-jquery\/#primaryimage"},"thumbnailUrl":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/07\/each-jquery-scaled.png","datePublished":"2025-07-31T15:20:54+00:00","dateModified":"2025-07-31T15:21:34+00:00","description":"N\u1eafm r\u00f5 c\u00e1ch d\u00f9ng jQuery each(), ph\u00e2n bi\u1ec7t $(selector).each v\u00e0 $.each, so s\u00e1nh v\u1edbi forEach() c\u1ee7a JavaScript. Th\u1ef1c h\u00e0nh ngay v\u1edbi v\u00ed d\u1ee5 d\u1ec5 hi\u1ec3u!","breadcrumb":{"@id":"https:\/\/itviec.com\/blog\/huong-dan-su-dung-each-jquery\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/itviec.com\/blog\/huong-dan-su-dung-each-jquery\/"]}]},{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/itviec.com\/blog\/huong-dan-su-dung-each-jquery\/#primaryimage","url":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/07\/each-jquery-scaled.png","contentUrl":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/07\/each-jquery-scaled.png","width":800,"height":421,"caption":"each jquery - itviec blog"},{"@type":"BreadcrumbList","@id":"https:\/\/itviec.com\/blog\/huong-dan-su-dung-each-jquery\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Chuy\u00ean m\u00f4n IT","item":"https:\/\/itviec.com\/blog\/chuyen-mon-it\/"},{"@type":"ListItem","position":2,"name":"each jQuery: C\u00fa ph\u00e1p, v\u00ed d\u1ee5, l\u1ed7i th\u01b0\u1eddng g\u1eb7p"}]},{"@type":"WebSite","@id":"https:\/\/itviec.com\/blog\/#website","url":"https:\/\/itviec.com\/blog\/","name":"ITviec Blog","description":"IT Jobs &amp; People in Vietnam","publisher":{"@id":"https:\/\/itviec.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/itviec.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"vi"},{"@type":"Organization","@id":"https:\/\/itviec.com\/blog\/#organization","name":"ITviec","url":"https:\/\/itviec.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/itviec.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2018\/12\/itviec-black-square-facebook.png","contentUrl":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2018\/12\/itviec-black-square-facebook.png","width":1800,"height":1800,"caption":"ITviec"},"image":{"@id":"https:\/\/itviec.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/ITviec","https:\/\/x.com\/ITviec","https:\/\/www.linkedin.com\/company\/itviec","https:\/\/www.youtube.com\/channel\/UCYthAQ3bcGr57M_ag5gHDvQ"]},{"@type":"Person","@id":"https:\/\/itviec.com\/blog\/#\/schema\/person\/f4cd1226846e0258c664e170d3e52d20","name":"Uyen Ngo","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/ngo-thieu-my-uyen-author-e1709880420317-100x100.jpg","url":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/ngo-thieu-my-uyen-author-e1709880420317-100x100.jpg","contentUrl":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/ngo-thieu-my-uyen-author-e1709880420317-100x100.jpg","caption":"Uyen Ngo"},"url":"https:\/\/itviec.com\/blog\/author\/uyen-ngo\/"}]}},"_links":{"self":[{"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/posts\/90100","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/users\/207"}],"replies":[{"embeddable":true,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/comments?post=90100"}],"version-history":[{"count":5,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/posts\/90100\/revisions"}],"predecessor-version":[{"id":90276,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/posts\/90100\/revisions\/90276"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/media\/90274"}],"wp:attachment":[{"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/media?parent=90100"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/categories?post=90100"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/tags?post=90100"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}