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

89
Vistas
por qué btn.addEventListener no es una función. Estoy atascado en este problema y no pude encontrar ninguna solución. ¿Alguien puede ayudarme?

** Estoy aprendiendo la manipulación de Dom y es mi segundo día... ¿cómo puedo hacerlo como una función que generará un índice de color aleatorio que ya almacené en mi matriz? **

 const btn = document.getElementsByClassName("btn"); const color = document.getElementsByClassName("color") btn.addEventListener('click', function() { const randomNumber = getRandomNumber(); document.body.style.backgroundColor = colors[randomNumber] color.textContent = color[randomNumber] }) function getRandomNumber() { return Math.floor(Math.random() * colors.length); }
 <div class="btn">Click Me </div>

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

getElementsByClassName devuelve una matriz de elementos (cf doc ).

para obtener el primer elemento, debe obtener el primer elemento de la matriz document.getElementsByClassName("btn")[0]; o agregue una identificación al botón y consígala con la función document.getElementById('myButton')

 const btn = document.getElementsByClassName("btn")[0]; const color = document.getElementsByClassName("color") btn.addEventListener('click', function() { const randomNumber = getRandomNumber(); document.body.style.backgroundColor = colors[randomNumber] color.textContent = color[randomNumber] }) function getRandomNumber() { return Math.floor(Math.random() * colors.length); }
 <div class="btn">Click Me </div>

about 4 years ago · Juan Pablo Isaza Denunciar

0

getElementsByClassName devolverá una matriz como objeto de elementos dom que coincidan con la clase. Debe seleccionar la entrada en esta matriz a la que desea apuntar:

 const btn = document.getElementsByClassName("btn")[0];

ver aquí para más detalles

about 4 years ago · Juan Pablo Isaza Denunciar

0

getElementsByClassName devuelve una matriz, no un solo objeto DOM. Puede intentar agregar una identificación al elemento y usar getElementById

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