Ajout et suppression de classes HTML sur demande avec jQuery
L'ajout d'une nouvelle classe HTML est une évidence. Ouvrez simplement le document HTML, localisez ce que vous voulez ajouter, insérez et nommez la classe. Mais quand il s'agit de construire un site web interactif qui permet à vos visiteurs de s'engager avec, vous devrez peut-être modifier, insérer et supprimer les classes HTML sur demande.
Vous pouvez le faire avec jQuery. Cet exemple de fonction ci-dessous va ajouter et supprimer my-new-class
au
// ## ajoute la classe $ ('div'). addClass ('my-new-class'); // ## supprime la classe $ ('div'). removeClass ('my-new-class');
Nous pouvons également utiliser du code JavaScript standard pour ajouter / supprimer des classes HTML comme ceci:
// ajoute la classe document.getElementById ('elem'). className = 'ma-nouvelle-classe'; // supprime la classe document.getElementById ('elem'). className = document.getElementByTag ('div'). className.replace (/ (?: ^ | \ s) mon-nouvelle-classe (?! \ S) / g, '')
Le code que vous pouvez voir ci-dessus est moins simple que lorsque nous le faisons avec JavaScript jQuery Framework. Mais si vous ne voulez pas vous fier à un framework, vous pouvez toujours utiliser une nouvelle API JavaScript appelée classList
.
Utilisation de l'API classList
Comme pour jQuery, classList
fournit un ensemble de méthodes qui nous permettent de modifier les classes HTML.
Dans le cas où il y a un div
avec plusieurs classes, nous pouvons récupérer les classes assignées dans la div
utilisant classList
.
var classes = document.getElementByID ('elem'). classList; console.log (classes);
Lorsque nous ouvrons la console du navigateur, nous pouvons voir la liste des classes.
Pour ajouter et supprimer des classes, nous pouvons utiliser .add()
et .remove()
.
var elem = document.getElementByID ('elem'); // ajoute la classe elem.classList.add ('my-new-class'); // supprime la classe elem.classList.remove ('my-new-class');
L'ajout de plusieurs classes peut également être fait en séparant chaque classe avec une virgule :
elem.classList.add ('my-new-class', 'mon-autre-classe');
Pour vérifier si certains éléments contiennent la classe spécifiée, nous pouvons utiliser .contains()
. Il retournera vrai si la classe spécifiée est présente, et retournera faux si ce n'est pas le cas.
elem.classList.contains ('nom-classe');
Nous pouvons également basculer la classe en utilisant .toggle()
. L'extrait de code suivant montre comment lier la méthode .toggle()
avec un événement de clic de souris.
var button = document.getElementById ('bouton'); function toggle () {elem.classList.toggle ('bg'); } button.addEventListener ('clic', bascule, faux);
Découvrez la démo en action à partir des liens suivants.
- Voir la démo
- Source de téléchargement
Pensée finale
classList
est une nouvelle API JavaScript native qui est également introduite avec HTML5. Il est simple et fonctionne dans les navigateurs suivants: Firefox 3.6, Opera 11.5, Chrome 8 et Safari 5.1. Il est cependant absent dans Internet Explorer 9 et ci-dessous, vous devrez donc utiliser Polyfills lors de l'implémentation de l'API classList dans Internet Explorer.
Autre ressource
- L'API classList - Docteur HTML5
- Element classList - MDN
- Notes sur l'API classList
10 paquets Atom les plus utiles pour les développeurs Web
Avez-vous essayé Atom? Bien que tout à fait nouveau, beaucoup sont tombés amoureux d'Atom, un éditeur de texte créé par GitHub qui offre de nombreux avantages et surtout est gratuit. Atom est livré avec quelques paquets intégrés, tels que l'intégration avec Git et arborescence. Cependant, à des fins de développement, vous aurez certainement besoin d'autres paquets.Dans ce pos
Créez des sites Web réactifs plus rapidement avec l'interface utilisateur sémantique
Les frameworks Frontend tels que Bootstrap font toujours fureur. Il y a des douzaines d'excellents choix à choisir, mais celui qui a récemment attiré mon attention est l' interface utilisateur sémantique .Accordé cette bibliothèque a été autour depuis un certain temps, datant de quelques années. Cependa