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
Vous pouvez maintenant télécharger des photos sur Instagram via sa page Web mobile
La publication d'une photo sur votre compte Instagram à l' aide de votre appareil mobile ne nécessitera plus l'installation de l'application Instagram sur ledit appareil. Comment pouvez-vous demander? Eh bien, Instagram vous permet maintenant de télécharger vos photos sur le service directement à partir de la page Web mobile elle-même.La fa
Lignes de commande de base et essentielles Tous les concepteurs Web doivent saisir
Vous avez peut-être rencontré des instructions dans les didacticiels de conception Web et de développement qui vous indiquent de faire des choses comme l' npm install ou le git clone, etc. Ce sont des interfaces de ligne de commande (CLI). Nous les utilisons pour indiquer à l'ordinateur d'effectuer des tâches spécifiques, généralement en tapant des commandes spécifiques à partir du terminal et de l'invite de commandes.Terminal