tengo una tarea donde necesito crear una función que cuando hago clic en un botón necesita generar una cantidad aleatoria de imágenes
var addImgBtn = document.getElementById("add-img-btn"); var outputDiv = document.getElementById("output-div"); function addImg() { outputDiv.innerHTML = ` <img src="img/mann.jpg"/> `; } function addRandomImg() { addImgBtn = Math.floor(Math.random() * 100 + 1); } addImgBtn.onclick = addImg; <input id="add-img-btn" type="button" value="Legg til bilde" /> <div id="output-div"></div>En algún momento necesita hacer alguna iteración para construir el HTML que contiene todas las imágenes.
Tu onclick debería estar llamando a addRandomImg .
Debería asignar el resultado del aleatorizador a una nueva variable, no addImgBtn .
Use un for...loop para iterar entre 0 y rnd , y en cada iteración inserte la imagen HTML en una matriz. Una vez que se completan todas las iteraciones, finalmente puede actualizar outputDiv con ese HTML asegurándose de join los elementos de la matriz en una cadena.
var addImgBtn = document.getElementById("add-img-btn"); var outputDiv = document.getElementById("output-div"); function addRandomImg() { const rnd = addImgBtn = Math.floor(Math.random() * 100 + 1); let html = []; for (let i = 0; i <= rnd; i++) { html.push('<img src="https://dummyimage.com/20x20/000/fff"/>'); } outputDiv.innerHTML = html.join(''); } addImgBtn.onclick = addRandomImg; img { margin: 2px 2px; } <input id="add-img-btn" type="button" value="Legg til bilde" /> <div id="output-div"></div>