Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

203
Visualizações
Uso de la función de alternar para resaltar un elemento cuando se hace clic

Tengo un par de elementos li importados de una API. Cuando se hace clic en uno de los elementos, ese elemento debe cambiar el color de fondo y permanecer en ese color hasta que se haga clic en otro elemento. En ese momento, el nuevo elemento cambiará de color y el antiguo volverá a su color original. Estaba tratando de hacer que esto funcionara de diferentes maneras, pero no puedo hacerlo funcionar. ¿Alguien puede ayudar?

 axios .get(showUrl + "?api_key=" + apiKey) .then((response) => { showsArray = response.data; showsArray.forEach((show) => { displayShows(show); }) }) .catch(error => { console.log(error); }) function displayShows(arr) { let show = document.createElement("li") show.classList.add("shows__table") let dateHeading = document.createElement('h5'); dateHeading.innerText = "Date"; let dateNum = document.createElement("h3"); dateNum.innerText = new Date(Number(arr.date)).toDateString(); let venueHeading = document.createElement('h5'); venueHeading.innerText = "Venue" let venueName = document.createElement('p'); venueName.innerText = arr.place; let locationHeading = document.createElement('h5'); locationHeading.innerText = "Location"; let locationName = document.createElement('p'); locationName.innerText = arr.location; let button = document.createElement('button'); button.innerText = "Buy Tickets"; // button.addEventListener('click', () => { // console.log("hit") // }) showsList.appendChild(show); show.appendChild(dateHeading); show.appendChild(dateNum); show.appendChild(venueHeading); show.appendChild(venueName); show.appendChild(locationHeading); show.appendChild(locationName); show.appendChild(button); } // first option: // let listItem = document.querySelectorAll(".shows__table"); // listItem.addEventListener('click', (e) => { // listItem.classList.toggle(".shows__table--active") // }) //second option : // document.querySelectorAll('.shows__table').addEventListener('click', changeColor); // function changeColor() { // this.style.backgroundColor = "red"; // return false // } //third option : // let listItem = document.querySelectorAll(".shows__table") // listItem.forEach((listItem) => { // listItem.addEventListener('click', (e) => { // listItem.classList.toggle(".shows__table--active") // }) // }) // 4th option // let listItem = document.querySelectorAll(".shows__table"); // for (let i = 0; i < listItem.length; i++) { // listItem[i].addEventListener('dblclick', function (e) { // e.preventDefault(); // listItem[i].classList.toggle("shows__table--active"); // console.log("clicked"); // }); // }
about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda