Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

165
Vistas
Cant get array to show up in HTML with for loop

I am currently trying to get an array to display a different element in my HTML with javascript after each time a button is clicked. I am using a for loop to represent the item in the array. I am having a lot of trouble getting any content to show up in the html at all. I am pretty new to this all so any help would be appreciated.

const activityButton = document.getElementById("activityButton");
const activityBox = document.getElementById("activitiesBox");

for (let i = 0, i < activitiesArray.length, i++) {
    activityButton.onclick = function(){
        activityBox. innerHTML =
             `
            <p>ACTIVITY: ${activitiesArray[i].activity}</p>
            <p>ENERGY NEEDED: ${activitiesArray[i].energy}</p>
            <p>MONEY NEEDED: ${activitiesArray[i].money}</p>
             `;
    };
}
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

onclick only be called when button click so you don't need to put this inside a for loop. Try to do the for when you click like this:

const activityButton = document.getElementById("activityButton");
const activityBox = document.getElementById("activitiesBox");

activityButton.onclick = function(){
    for (let i = 0; i < activitiesArray.length; i++) {
        activityBox.innerHTML +=
            `
            <p>ACTIVITY: ${activitiesArray[i].activity}</p>
            <p>ENERGY NEEDED: ${activitiesArray[i].energy}</p>
            <p>MONEY NEEDED: ${activitiesArray[i].money}</p>
            `;
    }
};
about 4 years ago · Juan Pablo Isaza Denunciar

0

try to put +=

activityBox. innerHTML += <p>ACTIVITY: ${activitiesArray[i].activity}</p> <p>ENERGY NEEDED: ${activitiesArray[i].energy}</p> <p>MONEY NEEDED: ${activitiesArray[i].money}</p>;

about 4 years ago · Juan Pablo Isaza Denunciar

0

Ideally the loop should run inside the onclick event listener function. Also its better to create element and then append it into the DOM elements.

const activityButton = document.getElementById("activityButton");

activityButton.onclick = function(){
     const activityBox = document.getElementById("activitiesBox");
     activityBox.innerHTML = "";
     for (let i = 0, i < activitiesArray.length, i++) {
        var p1 = document.createElement("p");
        p1.innerHTML = ACTIVITY: ${activitiesArray[i].activity};

        var p2 = document.createElement("p");
        p2.innerHTML = ENERGY NEEDED: ${activitiesArray[i].energy}

        var p3 = document.createElement("p");
        p3.innerHTML = MONEY NEEDED: ${activitiesArray[i].money}

        activityBox.append(p1);
        activityBox.append(p2);
        activityBox.append(p3);

}
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda