JQUERYを勉強中なのですが、DOM操作が絡むfor文の挙動がいまいち理解できません。
生成したいHTML構成には途中までなってはいるのですが、最後のカウントに差し掛かるとなぜかwrapAllが効いていません。この原因は何なのでしょうか。
試したこと
iのカウントが0から始まっているのが原因と思い頭にi++;を付けて0,1,2,...から1,2,3...にしてみましたが全然関係なかったです。。
JS
$(document).ready(function () { $.getJSON("data/sample_data.json", function(data){ for(var i in data){ console.log(i); var recruiting=$("<div class=\"recruiting\"></div>"); recruiting.append("<p class=\"station\">"+data[i].station+"</p>"), recruiting.append("<p class=\"date\">"+data[i].date+"</p>"), recruiting.append("<span class=\"role\">"+data[i].role+"</span>"), recruiting.append("<span class=\"age\">"+data[i].age+"</span>"), $('.recruiting>.station, .recruiting>.date').wrapAll("<div class=\"station_date\"></div>"), //p要素全体をstation_dateで囲む $('.recruiting>span').wrapAll("<p class=\"conditions\"></p>"); //span要素全体をconditionsで囲む $("#genreTab0 > .wrapper > .recruitingWrap").append(recruiting); } }); });
josnファイル
[ { "station": "秋田", "role": "なまはげ", "age": "(60歳~79歳)", "date": "2020/7/24" }, { "station": "長野", "role": "氏", "age": "(6歳~13歳)", "date": "2020/7/21" }, { "station": "愛知", "role": "鳥皮", "age": "(6歳~13歳)", "date": "2020/7/18" }, { "station": "富山", "role": "ラーメン", "age": "(20歳~30歳)", "date": "2020/7/30" }, { "station": "長崎", "role": "カステラ", "age": "(20歳~30歳)", "date": "2020/7/31" }, { "station": "北海道", "role": "海産物", "age": "(20歳~30歳)", "date": "2020/7/31" } ]
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/10 02:40