En utilisant jQuery, comment puis-je obtenir la classe actuelle d'un div appelé div1
?
Est-ce vraiment un attribut ? className
.. ? N'est-ce pas ? className
uniquement utilisé pour le javascript ? document.getElementById("div1").className
En utilisant jQuery, comment puis-je obtenir la classe actuelle d'un div appelé div1
?
Il suffit de récupérer l'attribut de classe :
var div1Class = $('#div1').attr('class');
Exemple
<div id="div1" class="accordion accordion_active">
Pour vérifier les classes contenues dans le div ci-dessus
var a = ("#div1").attr('class');
console.log(a);
sortie de la console
accordion accordion_active
Est-ce vraiment un attribut ? className
.. ? N'est-ce pas ? className
uniquement utilisé pour le javascript ? document.getElementById("div1").className
J'ai vu maintenant que selon la doc de jQuery il est suggéré d'utiliser className
pour qu'il n'interfère pas avec le mot réservé class
en javascript...
Dorénavant, il est préférable d'utiliser la fonction .prop() plutôt que .attr().
Voici la documentation de jQuery :
Depuis la version 1.6 de jQuery, la méthode .attr() renvoie undefined pour les attributs qui n'ont pas été définis. En outre, la méthode .attr() ne doit pas être utilisée sur les éléments suivants des objets simples, des tableaux, la fenêtre ou le document. Pour récupérer et modifier les propriétés du DOM, utilisez la méthode .prop().
var div1Class = $('#div1').prop('class');
Il a encore changé depuis la 2.2 : À partir de jQuery 1.12/2.2, [...] l'attribut class est utilisé à la place. Ainsi, .removeClass() peut être utilisé sur des documents XML ou SVG. (source : api.jquery.com/removeClass )
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.