2 votes

Changer la couleur du bouton à bascule

J'ai un code qui est censé faire basculer la couleur entre transparent et blanc lors du clic sur le bouton. Ce site est le lien du codepen.

El div Je veux que la couleur change a la classe points

<div class="points">100 points</div>

Mais l'exécution de ce code javascript renvoie une erreur

 document.getElementsByClassName('points').style.color = color;

Erreur de Type Non Rattrapée : Impossible de lire la propriété 'color' d'undefined.

0voto

CodeFreak Points 161

La méthode getElementsByClassName() renvoie une collection de tous les éléments suivants éléments du document ayant le nom de classe spécifié, sous la forme d'un objet NodeList sous la forme d'un objet NodeList.

Utilisez le code suivant pour obtenir ce que vous souhaitez -

var elements = document.getElementsByClassName("points");
var i;
for (i = 0; i < elements.length; i++) {
    elements[i].style.color = color;
}

0voto

Prashant Pimpale Points 6436

El document.getElementsByClassName() Renvoie un tableau de contrôles, et dans votre code, il n'y a pas de position d'index spécifique pour définir le style pour cet élément ou contrôle particulier.

Le code de travail modifié est le suivant :

document.getElementsByClassName('points')[0].style.color = 'red';

console.log(document.getElementsByClassName('points'));

<div class="points">100 points</div>

-1voto

Frost Points 393

GetElementsbyClassName renvoie un tableau des éléments qui ont les points de la classe. Il ne s'agit pas d'un seul élément. Vous devez donc parcourir le tableau en boucle et définir la couleur pour chaque élément.

let arr = document.getElementsByClassName("points");
for(let e of arr){
   e.style.color = "someColor";
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X