Maison  >  Article  >  interface Web  >  Comment changer de classe d’éléments en JavaScript ?

Comment changer de classe d’éléments en JavaScript ?

WBOY
WBOYavant
2023-08-24 17:29:131042parcourir

如何在 JavaScript 中切换元素类?

Changer de classe d'élément signifie ajouter et supprimer des classes spécifiques des éléments HTML en fonction de conditions spécifiques.

Par exemple, nous voulons mettre en évidence un élément HTML div lorsque la souris y entre, nous devons ajouter une classe spécifique avec différents styles dans l'élément HTML.

Ici, nous apprendrons différentes façons de changer de classe d'éléments à l'aide de JavaScript et jQuery. Dans ce didacticiel, nous apprendrons à changer de classe d'éléments en JavaScript.

Utilisez la méthode toggle() de classList

La méthode

toggle() change la classe dans l'élément. Il vérifie si la classe existe puis supprime la classe ; sinon, il ajoute la classe à l'élément.

Grammaire

Les utilisateurs peuvent utiliser la méthode toggle() pour changer de classe d'éléments via JavaScript selon la syntaxe suivante.

divElement.classList.toggle("class_name"); 

Dans la syntaxe ci-dessus, divElement est un élément HTML dans lequel nous souhaitons basculer la classe passée en argument à la méthode toggle.

Exemple 1

Dans l'exemple ci-dessous, nous avons créé un élément div et lui avons donné quelques styles. Lorsque l'utilisateur clique sur le bouton, il appelle la fonction toggleClass(). Dans la fonction toggleClass(), nous accédons à l'élément div en utilisant son identifiant.

Après cela, nous appliquons la méthode toggle() à la classList de l'élément div. La propriété classList renvoie les classes de tous les éléments div au format tableau. De plus, nous avons passé le nom de la classe « color » comme paramètre à la méthode toggle(). Il ajoutera et supprimera donc des classes de couleurs dans les éléments div.

<html>
<head>
   <style>
      div {
         width: 10rem;
         height: 10rem;
         border: 2px solid blue;
         border-radius: 12px;
      }
      .color {
         background-color: grey;
      }
   </style>
</head>
<body>
   <h2>Using the <i> toggle() method </i> to toggle and element class using JavaScript.</h2>
   <h3>Click the below button to add and remove the class from the below div.</h3>
   <div id="div-ele"></div>
   <br>
   <button onClick="toggleClass()">Toggle color class</button>
   <script>
      function toggleClass() {
         let divElement = document.getElementById('div-ele');
         divElement.classList.toggle("color");
      }
   </script>
</body>
</html>

Dans la sortie ci-dessus, l'utilisateur peut observer que lorsque nous cliquons sur le bouton, cela change la couleur d'arrière-plan de l'élément div tout en changeant la catégorie de couleur de l'élément div.

Utilisez les méthodes contain(), add() et remove()

La méthode

contains vérifie si un tableau contient un élément spécifique. La méthode add() ajoute une classe à un élément et la méthode Remove() supprime une classe d'un élément.

Nous pouvons utiliser l'attribut classList pour obtenir toutes les classes qu'un élément contient, puis nous pouvons utiliser la méthode contain() pour vérifier si un élément contient une classe spécifique. Si elle n'est pas incluse, nous pouvons l'ajouter ; sinon, nous devons supprimer la classe.

Grammaire

Les utilisateurs peuvent utiliser les méthodes contain(), add() et remove() selon la syntaxe suivante pour changer la classe d'un élément.

if (divElement.classList.contains("class_name")) {
   divElement.classList.remove("circle");
} else {
   divElement.classList.add("circle");
} 

Dans la syntaxe ci-dessus, nous utilisons la méthode contain() pour vérifier si la classList contient la classe class_name et sur cette base, nous ajoutons et supprimons la classe de l'élément.

Exemple 2

Dans l'exemple ci-dessous, nous avons donné quelques styles à l'élément div. De plus, nous avons créé la classe « circle », qui convertit un div en cercle. Chaque fois que l'utilisateur clique sur le bouton, la fonction toggleClass() vérifie si l'élément div contient la classe "circle". Si la méthode contain() renvoie true pour la classe Circle, nous supprimerons la classe Circle du div en utilisant la méthode remove() avec classList. Sinon, nous ajoutons la classe "circle" dans l'élément div en utilisant la méthode add().

<html>
<head>
   <style>
      div {
         width: 10rem;
         height: 10rem;
         border: 2px solid yellow;
         background-color: blue;
         display: flex;
         justify-content: center;
         align-items: center;
         color: white;
         font-size: larger;
      }
      .circle {
         border-radius: 50%;
      }
   </style>
</head>
<body>
   <h2>Using the <i> contains(), add(), and remove() method </i> to toggle and element class using JavaScript. </h2>
   <h3>Click the below button to add and remove the circle class from the below div. </h3> 
   <div id="div-ele">
      Square
   </div>
   <br>
   <button onClick="toggleClass()">Toggle color class</button>
   <script>
      function toggleClass() {
         let divElement = document.getElementById('div-ele');
         let allClass = divElement.classList;
         
         // if the element contains the circle class, remove it; Otherwise, add it.
         if (allClass.contains("circle")) {
            divElement.classList.remove("circle");
            divElement.innerHTML = "Square";
         } else {
            divElement.classList.add("circle");
            divElement.innerHTML = "Circle";
         }
      }
   </script>
</body>
</html>

Dans la sortie ci-dessus, l'utilisateur peut observer le div basculer entre le rond et le carré en cliquant simplement sur le bouton.

Utilisez la méthode toggleClass() de JQuery

JQuery inclut la méthode toggleClass(), qui fonctionne de la même manière que la méthode toggle() de JavaScript. Nous pouvons prendre un élément HTML comme référence à la méthode toggleClass() et passer le nom de la classe en paramètre.

Grammaire

Les utilisateurs peuvent utiliser la méthode toggleClass() de JQuery pour changer de classe d'éléments selon la syntaxe suivante.

$(element).toggleClass("class_name"); 

Dans la syntaxe ci-dessus, les utilisateurs doivent remplacer l'élément par l'identifiant, la classe ou la balise de l'élément pour accéder à l'élément à l'aide de JQuery. class_name est le nom de classe de l'élément de référence à changer.

Exemple 3

Dans l'exemple ci-dessous, nous modifions la couleur du texte de l'élément en basculant la classe text_color de l'élément à l'aide de la méthode toggleClass() de JQuery.

Dans la sortie, l'utilisateur peut observer que chaque fois que le bouton est enfoncé, la couleur du texte de l'élément span est commutée entre le rouge et la couleur par défaut.

<html>
<head>
   <style>
      .text_color {
         color: red;
      }
   </style>
   <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.3/jquery.min.js"></script>
</head>
<body>
   <h2>Using the <i> JQuery's toggleClass() method </i> to toggle and element class using JQUery. </h2>
   <h3>Click the below button toggle text_color class from the below span element.</h3>
   <span>This is a sample text.</span>
   <br>
   <br>
   <button onClick="toggleClass()">Toggle color class</button>
   <script>
      function toggleClass() {
         $("span").toggleClass("text_color");
      }
   </script>
</body>
</html>

Nous avons appris trois façons de changer de classe d'éléments à l'aide de JavaScript et de JQuery. Lorsque l'utilisateur souhaite écrire du code en JavaScript, il peut utiliser la méthode toggle() ; lorsqu'il souhaite écrire du code en JQuery, il peut utiliser la méthode toggleClass().

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer