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

95
Vistas
Cómo cambiar entre fila y columna al hacer clic en el botón

Estoy haciendo una lista de div alterna en javascript. Tengo dos requisitos:

  • Alternar entre dos colores para cada nodo indexado par e impar
  • En cada clic, si actualmente los divs están en una fila, cambie a columna y viceversa.

Puedo cumplir con el primer requisito, pero me quedé atascado en el segundo (transición de fila a columna y de columna a fila con cada clic). Además, no soy bueno en CSS, por lo que no puedo hacerlo usando CSS.

 const btn = document.querySelector('#divChanger'); const mainDiv = document.querySelector('.mainDiv'); for (let index = 0; index < 20; index++) { mainDiv.innerHTML += `<div class="myDiv"> Div ${index + 1} </div>`; } const selectedDiv = document.querySelectorAll('.myDiv'); var counter = 0; selectedDiv.forEach(element => { if (counter++ % 2) { element.style.color = 'red'; } else { element.style.color = 'blue'; } element.style.fontSize = '14px'; }); btn.addEventListener('click', function() { selectedDiv.forEach(element => { element.style.color = element.style.color == 'red' ? 'blue' : 'red'; }); });
 <div class="mainDiv"> </div> <div> <button id="divChanger">Change</button> </div>

about 4 years ago · Santiago Gelvez
1 Respuestas
Responde la pregunta

0

Simplemente configure su element.style.float = element.style.float == 'left' ? 'none' : 'left'; dentro de su eventListener .

También agregué maring , solo para una mejor perspectiva

 const btn = document.querySelector('#divChanger'); const mainDiv = document.querySelector('.mainDiv'); for (let index = 0; index < 20; index++) { mainDiv.innerHTML += `<div class="myDiv"> Div ${index + 1} </div>`; } const selectedDiv = document.querySelectorAll('.myDiv'); var counter = 0; selectedDiv.forEach(element => { if (counter++ % 2) { element.style.color = 'red'; } else { element.style.color = 'blue'; } element.style.fontSize = '14px'; }); btn.addEventListener('click', function() { selectedDiv.forEach(element => { element.style.color = element.style.color == 'red' ? 'blue' : 'red'; element.style.float = element.style.float == 'left' ? 'none' : 'left'; element.style.margin = "2,0"; }); });
 <div class="mainDiv"> </div> <div> <button id="divChanger">Change</button> </div>

about 4 years ago · Santiago Gelvez 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