** 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>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>getElementsByClassName devuelve una matriz, no un solo objeto DOM. Puede intentar agregar una identificación al elemento y usar getElementById