11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,


Puis-je vous proposer 2 questions ?
D'avance, merci

1.
Ce que je cherche à faire en javascript,
c'est un peu comme en php :

for ($i=0; $i++; $i<10) {
     ${'temps'.$i}=$i
}

Pouvez-vous m'aider à "convertir" ce code en javascript ?

2.
De plus, je voudrais savoir si i= 1 (valeur numérique, valeur positive !!!)

getElementById("texte"+i)


correspond à getElementById("texte1")
ou à

correspond à getElementById("texte 1")

?
Modifié par jytest (29 Jul 2011 - 17:33)
Bonjour à toutes et à tous,

pour la deuxième question, cela n'a rien à voir avec l'instruction getElementById.

Il s'agit simplement de l'opérateur de concaténation '+'.

si tu fais "text" + "1" tu obtiens "text1".
si tu fait "text " + "1" ou "text" + " 1" tu obtiens "text 1".

L'opérateur "+" ne supprime pas les blancs.

Pour la première question, tu dois créer un tableau.

<SCRIPT type="text/javascript">
var tab = new Array();
for (var i=0; i<10; i++)
{
    tab.push(i);
}
</script>
@+
Salutation »


<script type="text/javascript">
// --
 var tab = new Array ();
 var nombreFois = 10;
 var t = 'temps ';
 var br = '<br>';
 // --
 for (var i = 0; i < nombreFois; i++)
  tab.push (i);
 // --
 for (var j = 1; j < tab.length + 1; j++)
  document.write (t + j + br);
// --
</script>


temps 1
temps 2
temps 3
...
temps 10

Sans Array » une seule boucle for.


<script type="text/javascript">
// --
 var nombreFois = 10;
 var t = 'temps ';
 var br = '<br>';
 // --
 for (var i = 1; i < nombreFois + 1; i++)
  document.write (t + i + br);
// --
</script>


Par contribution seulement. Une autre façon de faire. Les mêmes résultats Smiley cligne

..
Modifié par zardoz (29 Jul 2011 - 17:14)
Strictement parlant, le code php donné en premier post pourrait se convertir en :
<

for (var i=0; i<10; i++) {
window['temps'+i]=i;
}


En d'autre termes, on utilise l'indexation (opérateur crochet)pour accéder à des propriétés d'objets dont les noms sont variables, et on utilise window comme table globale.