J'ai plusieurs div nomm�s P0, P1, P2, ..., Pn

j'essaye de modifier ma fonction javacript qui pour l'instant ne me retourne que 5 entit�s.
l'actuelle est comme cela (elle fonctionne parfaitement):
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
function switchBest( layerName ) {
    if ( document.getElementById ) {
		var player[1] = document.getElementById( 'P0' );
		var player[2] = document.getElementById( 'P1' );
		var player[3] = document.getElementById( 'P2' );
		var player[4] = document.getElementById( 'P3' );
		var player[5] = document.getElementById( 'P4' );
 
		player[1].style.display = 'none';
		player[2].style.display = 'none';
		player[3].style.display = 'none';
		player[4].style.display = 'none';
		player[5].style.display = 'none';
 
		switch(layerName) {
			case "P0":
  				player[1].style.display = 'block';
  				break;
			case "P1":
			  	player[2].style.display = 'block';
  				break;
			case "P2":
  				player[3].style.display = 'block';
  				break;
			case "P3":
  				player[4].style.display = 'block';
  				break;
			case "P4":
  				player[5].style.display = 'block';
  				break;
			default:
  				break;
        	}
      	}
    }
switchBest('P0');
Maintenant je veux pouvoir rendre cette fonction dynamique c'est � dire totalement transparente si j'utilise 2 �l�ments ou 500.

J'ai donc cr�e cette fonction. Ajoutant un param�tre qui me donne le nombre maximum d'�lements que j'aurais (utile pour l'initialisation de mon tableau).
j'ai donc �crit cette fonction:
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
function switchBest( layerName, maxValue ){
    var player = new Array(maxValue);
    if ( document.getElementById ) {
         var i=1;
         while(i<maxValue){
               player[i]=document.getElementById ( ('P' + i) ); 
               player[i++].style.display = 'none'; // on cache tous les elements
               }
 
        player[layerName.replace(P, "")].style.display = 'block';
         }
    }
switchBest('P0');
Tous mes elements sont bien cach�s, P0 est affich�. mais j'ai ce message qui apparait � chaque click et Pn ne s'affiche pas,
erreur: player[i++] has no properties
Donc quand ont fait une concatenation comme 'P' + i j'ai l'impression que i est ensuite trait� comme un string.... ai-je raison?
Et si c'est le cas, je fais comment pour �viter �a?