動作は同じですね、いくつかサンプル
javascript
1<script>
2$(function(){
3 $('.hoge').each(function(){
4 console.log($('.hoge').index($(this))+":"+$(this).text());
5 });
6 $.each($('.hoge'),function(){
7 console.log($('.hoge').index($(this))+":"+$(this).text());
8 });
9</script>
10<div class="hoge">1</div>
11<div class="hoge">2</div>
12<div class="hoge">3</div>
13
配列やオブジェクトをjQueryで回すには$.eachで指定するしかないですからね
javascript
1 //配列
2 $.each([1,2,3],function(x,y){
3 console.log(x+":"+y);
4 });
5 //オブジェクト
6 $.each({"a":1,"b":2,"c":3},function(x,y){
7 console.log(x+":"+y);
8 });
これが普通の配列を回すforEachだとインデックスとデータが逆になります
javascript
1 [4,5,6].forEach(function(x,y){
2 console.log(x+":"+y);
3 });
4 [].forEach.call([4,5,6],function(x,y){
5 console.log(x+":"+y);
6 });
7 //forEachではオブジェクトはまわせない
8 [].forEach.call({"a":4,"b":5,"c":6},function(x,y){
9 console.log(x+":"+y);
10 });
11
ちなみに、NodeListとHTMLCollectionでも動作が違います
javascript
1<script>
2window.addEventListener('DOMContentLoaded', function(e){
3 /* NodeList */
4 [].forEach.call(document.querySelectorAll('.hoge'),function(x,y){
5 console.log(y+":"+x.textContent);
6 });
7 document.querySelectorAll('.hoge').forEach(function(x,y){
8 console.log(y+":"+x.textContent);
9 });
10 /* HTMLCollection */
11 [].forEach.call(document.getElementsByClassName('hoge'),function(x,y){
12 console.log(y+":"+x.textContent);
13 });
14 //以下拾えないかも
15 document.getElementsByClassName('hoge').forEach(function(x,y){
16 console.log(y+":"+x.textContent);
17 });
18});
19</script>
20<div class="hoge">1</div>
21<div class="hoge">2</div>
22<div class="hoge">3</div>
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/28 13:42