
本文旨在指导开发者如何在 JavaScript 中动态创建 HTML 元素,并通过 innerHTML 方法将它们添加到文档中,并为这些动态创建的元素赋予唯一的 ID,以便后续进行操作和事件绑定。文章将结合实际代码示例,详细讲解实现步骤和注意事项,帮助读者掌握这一常用技巧.
在 JavaScript 中,当需要动态生成大量相似的 HTML 元素时,使用 innerHTML 是一种常见的方法。同时,为了方便后续对这些元素进行操作,为它们赋予唯一的 ID 是非常重要的。以下示例展示了如何实现这一目标。
示例代码:
const goodVibesPlaylist = [{
img: 'img/2.jpg',
idd: 1,
songName: 'Am I Wrong',
audio: new Audio('audio/Am-I-wrong.mp3'),
artist: 'Nico & Vinz',
},
{
img: 'img/3.jpg',
idd: 2,
songName: 'Sex,Drugs,Etc',
audio: new Audio('audio/Sex-Drugs-Etc.mp3'),
artist: 'Beach Weather',
},
{
img: 'img/7.jpg',
idd: 3,
songName: 'Me Myself & I ',
audio: new Audio('audio/Me-Myself-I.mp3'),
artist: 'G-easy',
},
{
img: 'img/4.jpg',
idd: 4,
songName: 'Blood In The Water',
audio: new Audio('audio/Blood-In-The-Water.mp3'),
artist: 'grandson',
},
{
img: 'img/5.jpg',
idd: 5,
songName: 'Eastside',
audio: new Audio('audio/Eastside.mp3'),
artist: 'Benny Blanco',
},
{
img: 'img/6.jpg',
idd: 6,
songName: 'Everything Black ',
audio: new Audio('audio/Everything-Black.mp3'),
artist: 'Unlike Puto',
}
]
let songsHTML = '';
for (let song of goodVibesPlaylist) {
const html = `
<div class="song-details" id="${song.idd}">
<div class="song-num " >${song.idd}</div>
<div class="song-poster"><img src=${song.img} alt=""></div>
<div class="song-artist-name">
<div class="song-name">${song.songName}</div>
<div class="artist-name">N${song.artist}</div>
</div>
<div class="play-btn"><span class="material-symbols-outlined">
play_arrow
</span>
</div>
</div>`;
songsHTML += html;
}
document.querySelector('#addTo')
.innerHTML = songsHTML;
const playlistSongs = document.querySelectorAll(".playlist-songs");
const btns = document.querySelectorAll('.song-details');
const playingNow = document.querySelectorAll('.song-p-now');
for (let song of btns) {
playingNow.innerHTML = ` <div class="song-poster"><img src="img/7.jpg" alt=""></div>
<div class="song-artist-name">
<div class="song-name">Me,Myself & I</div>
<div class="artist-name">G-easy</div>
</div>`
}代码解释:
立即学习“Java免费学习笔记(深入)”;
数据准备: 首先,准备一个包含元素信息的数组 goodVibesPlaylist。每个对象包含 img, idd, songName, audio, 和 artist 属性。idd 属性将用于元素的 ID。
循环生成 HTML 字符串: 使用 for...of 循环遍历数组,为每个对象创建一个包含 ID 的 HTML 字符串。关键在于 <div class="song-details" id="${song.idd}"> 这行代码,它将 song.idd 的值动态插入到 id 属性中。
插入到 DOM 中: 使用 document.querySelector('#addTo').innerHTML = songsHTML; 将生成的 HTML 字符串插入到 ID 为 addTo 的元素中。
获取动态元素: 确保在元素被添加到DOM之后再获取他们,使用 document.querySelectorAll 获取所有动态创建的 .song-details 元素。querySelector 只会返回匹配的第一个元素。
通过本文的讲解,您应该已经掌握了如何使用 JavaScript 动态创建 HTML 元素,并为这些元素赋予唯一的 ID。在实际开发中,可以根据具体需求灵活运用这些技巧,提高开发效率和代码质量。请记住,确保 ID 的唯一性、DOM 加载完成以及性能优化是需要重点关注的问题。
以上就是JavaScript 教程:动态创建元素并赋予ID的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号