11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Je souhaitai faire en sortes que lorsque je clique sur un bouton, les lignes de mon tableau soit colorées alternativement par un code JavaScript.

Je me suis donc inspiré du code d'Olivier donné ici : Fonctions, méthodes class et scripts utiles

Et j'ai fait cela :
function couleur(){
	rows = maTable.getElementsByTagName('tr');//Nombre de lignes dans le tableau maTable
	for (var r=0; r<rows.length; r++)  //Incrémentation de r pour passer chaque ligne
        {
		parity = (r%2) ? '' : 'impair'; //Si r est pair, alors on attribut une class vide, si r est impair, un attribut le style CSS impair
		rows[r].setAttribute('class',parity); //On attribut à la ligne, la class CSS sélectionnée
	}
};


J'ai donc testé mon code, charcuté dans tous les sens et j'ai enfin réussi à le faire fonctionner (sous Firefox). Et là ... déception, j'essaie sous IE et rien...
Auriez-vous une idée de la provenance du problème ?
Modifié par Zetura (07 Jul 2008 - 15:12)
Bonjour.

La méthode "setAttribute" ne peut pas servir à fixer une classe sous IE. Il faut passer par l'attribut "className".
Oui, je viens de trouver à l'instant Smiley biggrin

Merci tout de même.
Je vais enfin en avoir fini avec ce script JS ! Smiley murf
Hello,
Changaco a écrit :
La méthode "setAttribute" ne peut pas servir à fixer une classe sous IE. Il faut passer par l'attribut "className".

En fait, sous IE on peut écrire
el.setAttribute("className", "pouet");

Mais il vaut mieux utiliser directement l'attribut JS du DOM HTML, en effet.
Julien Royer a écrit :
Hello,

En fait, sous IE on peut écrire
el.setAttribute("className", "pouet");

Mais il vaut mieux utiliser directement l'attribut JS du DOM HTML, en effet.
Autant pour moi je ne savais pas.