Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > Mootools
Mootools Forum d'entraide sur le framework MooTools. Avant de poster : Tutoriels Mootools, FAQ MooTools, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/08/2011, 22h38   #1
Candidat au titre de Membre du Club
 
Inscription : juin 2009
Messages : 20
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 20
Points : 11
Points : 11
Par défaut Utilisation d'une variable dynamique dans un getElements

Bonjour,

Lorsque j'execute le code suivant :
Code :
1
2
3
4
5
6
 
for (j=1;j<=5;j++)
{
   container[j] = $('slideshow-container'+j);
   images[j] = container[j].getElements('img');
}
J'obtiens l'erreur suivante :
container[j] is null pour la ligne
Code :
images[j] = container[j].getElements('img');
Par contre, si je remplace cette même ligne par
Code :
images[j] = container[1].getElements('img');
Cela fonctionne

Merci d'avance de votre aide pour résoudre ce problème.
michel78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/08/2011, 07h57   #2
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 129
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 129
Points : 7 260
Points : 7 260
Bonjour,

ça veut dire que l'élément $('slideshow-container'+j) n'éxiste pas pour la valeur de j qui va de 1 à 5 dans ton HTML.

A+.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/08/2011, 08h28   #3
Candidat au titre de Membre du Club
 
Inscription : juin 2009
Messages : 20
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 20
Points : 11
Points : 11
Bonjour,

Merci de te pencher sur mon problème.
Les éléments
Code :
$('slideshow-container'+j)
existent bien dans mon html :
Code :
1
2
3
4
 
<div id="slideshow-container1"></div>
<div id="slideshow-container2"></div>
...etc...
D'ailleurs, si je remplace
Code :
images[j] = container[j].getElements('img');
par
Code :
images[j] = container[1].getElements('img');
(donc en remplaçant le j par un des numéros des DIV, il n'y a pas de problème.

Je pense que le problème vient de la syntaxe dans la ligne
Code :
images[j] = container[j].getElements('img');
mais je ne vois pas lequel.

Michel
michel78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/08/2011, 09h39   #4
Candidat au titre de Membre du Club
 
Inscription : juin 2009
Messages : 20
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 20
Points : 11
Points : 11
Je viens de trouver :

En remplaçant
Code :
images[j] = container[j].getElements('img');
par
Code :
images[j] = eval(container[j]).getElements('img');
cela fonctionne.

Michel
michel78 est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h02.


 
 
 
 
Partenaires

Hébergement Web