【发布时间】:2021-12-30 11:12:09
【问题描述】:
我想做一些基本的操作,比如更新文档数组。在这个 html 中,我有包含歌曲项目类的歌曲列表(歌曲容器)。我想更改每首歌曲的名称,我尝试了下面的代码,但没有收到期望的输出。
let songItem = Array.from(document.querySelector(".songItem"));
let songs = [
{
Name: "love you zindagi",
filePath: "audio/song1.mp3",
coverPath: "covers/download.jpg",
},
{
Name: "zara-zara",
filePath: "audio/song5.mp3",
coverPath: "covers/download.jpg",
},
{
Name: "vaaste",
filePath: "audio/song8.mp3",
coverPath: "covers/download.jpg",
},
];
console.log(songs);
songItem.forEach((element, i) => {
console.log(element, i);
element.getElementsByClassName("songName")[0].innerText = songs[i].Name;
});
<div class="songList">
<h1>Best Song Collection</h1>
<div class="songItem">
<span class="image">
<img src="covers/download.jpg" />
</span>
<span class="songName">love you zindagi</span>
<span class="timePlay"
><i class="far fa-play-circle" onclick="songPlay ()"></i
></span>
<span class="timeStop"
><i class="far fa-pause-circle" onclick="pauseSong ()"></i
></span>
</div>
<div class="songItem">
<span class="image">
<img src="covers/download.jpg" />
</span>
<span class="songName">love you zindagi</span>
<span class="timePlay"><i class="far fa-play-circle"></i></span>
</div>
<div class="songItem">
<span class="image">
<img src="covers/download.jpg" />
</span>
<span class="songName">love you zindagi</span>
<span class="timePlay"><i class="far fa-play-circle"></i></span>
</div>
</div>
【问题讨论】:
-
下次可以使用code snippet。我已经帮你做了。
-
element.getElementsByClassName("songName")[0]应该是element.getElementsByClassName("songName")[i]?
标签: javascript html arrays foreach