web-dev-qa-db-fra.com

JavaScript obtenant une classe d'éléments sans aucune bibliothèque

Je voudrais obtenir la valeur de l'attribut class pour un élément utilisant JavaScript. Cependant, dans cette situation particulière, je n'ai pas le luxe d'une bibliothèque telle que YUI, jQuery, etc. et je dois m'en tenir aux bases.

Plus précisément, je suis en boucle sur une table et je veux vérifier la classe de la cellule.

J'ai essayé:

var colClass = el.getAttribute('class');

et

var colClass = el.class;

Mais ni l'un ni l'autre ne semble fonctionner. Dans l'exemple ci-dessus, el est défini à partir du tableau de cellules d'un tableau, tel que var el = document.getElementById('myTable').rows[y].cells[y];

38
Zugwalt

Vous devriez peut-être essayer ceci

var colClass = el.className
67
Bang Dao

Cette ligne que vous avez publiée devrait fonctionner:

var colClass = el.getAttribute('class');

Pourriez-vous poster quelle erreur vous obtenez dans le navigateur? Assurez-vous que el n'est pas nul.

Si vous ne réussissez pas à faire fonctionner celui-ci, l'attribut de l'objet est className, pas class :

var colClass = el.className;
14
Karel Petranek

className?

Element.className

<html>
<body id="myid" class="mystyle">

<script>
var x=document.getElementsByTagName('body')[0];
document.write("Body CSS class: " + x.className);
document.write("<br>");
document.write("An alternate way: ");
document.write(document.getElementById('myid').className);
</script>

</body>
</html>
3
Nikita Rybak

Rappelles toi:

Si vous obtenez une erreur et que className ne fonctionne pas, cela peut être dû au fait que votre élément est un objet jQuery.

works not on jquery

Dans l'image ci-dessus, vous voyez que je ne peux pas utiliser className sur un objet jQuery

0
Peter verleg