実現したいこと
JavaScript初心者です。食べログでレストランが一覧で見れる(https://tabelog.com/kyoto/)のと同じように、共通構造がズラッと並んだページを1つ作りたいです。
前提
JQueryでhtml構造を生成しています。
MySQL等操作にはまだ手が出ないので、ひとまず同html内にある連想配列から要素を引っ張り出す流れにしたいです。
発生している問題・エラーメッセージ
for文でやろうとすると同じ構造は自動で作れるのですが、コンテンツが上書きされて全て同じ内容になってしまいます。
以下のソースコードで言うと、
html構造は要素の数だけ生成できるものの、その両方ともコンテンツが最終要素で上書きされてしまい、困っています。
該当のソースコード
html
1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 5</head> 6 7<div id='container'></div> 8 9<script type="text/javascript" src="js/jquery-3.4.1.min.js"></script> 10<script> 11 var data = [{ 12 name: 'Aさん', 13 area: '京都', 14 },{ 15 name: 'Bさん', 16 area: '東京', 17 }]; 18 19 for (var i = 0; i < data.length; i++) { 20 21 $('#container').append($('<div/>').append($('<div/>').append('<h3>').append('<p>'))); 22 $('#container>div').addClass('farmers'); 23 $('.farmers div:nth-child(1)').addClass('info'); 24 $('.info h3:nth-child(1)').addClass('name').text(data[i]['name']); 25 $('.info p:nth-child(2)').addClass('area').text(data[i]['area']); 26 } 27</script> 28</body> 29</html>
どなたかご教示いただけると幸いです!
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。