最近、JavaScriptを勉強し始めました。
お試しのコードを書いている時に挙動が分からず悩んでいる部分があります。
[状況]
- リスト形式のメニューが3つ並んでいる
- その下にボタンが1つある
- ボタンを押すと、メニュー内の文字列が変更される
[悩んでいること]
- ボタンを押してもすべて「japan」の文字列で更新されてしまう
- リストの左から順番に「taro」「27」「japan」と更新したい
- すべて「japan」と更新されてしまう挙動の流れが分からないため知りたい
以下、コードです。
拙いですがどうかご教授いただけると幸いです。
html
1<ul class="list"> 2 <li class="list_1"><a href="#">リスト_1</a></li> 3 <li class="list_2"><a href="#">リスト_2</a></li> 4 <li class="list_3"><a href="#">リスト_3</a></li> 5</ul> 6 7<button id="button">文字変換</button>
css
1ul { 2 list-style: none; 3 display: flex; 4} 5 6.list li a { 7 text-decoration: none; 8 display: block; 9 padding: 10px; 10 border: 1px solid; 11 margin-left:10px; 12}
JavaScript
1const listElem = document.querySelectorAll(".list li a"); 2const button = document.getElementById("button"); 3 4const obj = { 5 name: 'taro', 6 age: '27', 7 from: 'japan', 8} 9 10listElem.forEach((list) => Object.keys(obj).forEach((key) =>button.addEventListener('click', (evt) => list.textContent = obj[key])));
回答1件
あなたの回答
tips
プレビュー