実現したいこと
初めまして。初心者のため説明が分かりにくいと思いますがよろしくお願いします。
script.jsに記述した配列を、htmlで見た時に記述リスト(dl/dt/dd)として表示させたいと思っています。
javascriptやhtmlの元データはこちらを参考にしています。
※前提として、underscore.jsが必要なものになります。説明不足で申し訳ありません。
javascript
1var Lists = [ 2 { name: 'あいうえお', tag: ['趣味1','趣味2','趣味3'], desc: ['あああ','いいい','ううう'] }, 3 { name: 'かきくけこ', tag: ['趣味1','趣味2','趣味3','趣味4'], desc: ['かかか','ききき','くくく','けけけ'] }, 4 { name: 'さしすせそ', tag: ['趣味1','趣味2','趣味3'], desc: ['さささ','ししし','すすす'] }, 5 { name: 'たちつてと', tag: ['趣味1','趣味2'], desc: ['たたた','ちちち'] }, 6 ];
という配列があり(中身は仮ですが)、これを実際に
html
1<h3>あいうえお</h3> 2<dl> 3 <dt>趣味1</dt> 4 <dd>あああ></dd> 5 <dt>趣味2</dt> 6 <dd>いいい</dd> 7 <dt>趣味3</dt> 8 <dd>ううう</dd> 9</dl>
のように順番に出力したいのですが、うまくいきません。
試したこと
html
1<dl> 2 <% _.each(line.tag, function(tag) { %> 3 <dt><%= tag %></dt> 4 <% }) %> 5 <% _.each(line.desc, function(tag) { %> 6 <dd><%= tag %></dd> 7 <% }) %> 8</dl>
のように記述してみましたが、やはり
html
1<dl> 2 <dt>趣味1</dt> 3 <dt>趣味2</dt> 4 <dt>趣味3</dt> 5 <dd>あああ></dd> 6 <dd>いいい</dd> 7 <dd>ううう</dd> 8</dl>
のようになってしまいます。
人によって趣味の数が違うため、
javascript
1 { name: 'あいうえお', hobby1name: '趣味1', hobby1desc: 'あああ' hobby2name:・・・},
のように1つずつ書いてもhtml側で個別に対応できないのではないかと勝手に思っています。
また、趣味名(dt)の部分はcssで装飾して説明文(dd)と区別をしたいので、
javascript
1 { name: 'あいうえお', hobby: ['趣味1:あああ','趣味2:いいい','趣味3:ううう']},
とあらかじめくっつけて記述しておくのは個人的にしたくありません。
解決策が分かる方がいましたら、ぜひ教えていただきたく思います。
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー