GetElementsByClassName [Résolu]

Messages postés
112
Date d'inscription
lundi 6 avril 2009
Statut
Membre
Dernière intervention
17 janvier 2015
- - Dernière réponse : projer
Messages postés
112
Date d'inscription
lundi 6 avril 2009
Statut
Membre
Dernière intervention
17 janvier 2015
- 12 janv. 2012 à 10:54
Bonjour,

je me mets doucement au javascript et j'ai besoin d'avoir par dessus mon image une div transparente contenant du texte et centrée en hauteur.
J'essaye de faire un script pour ça mais ça ne fonctionne pas malheureusement.

Mon html:





QUE FAIRE
POUR Y ARRIVER

SPECTACLE TOUT PUBLIC







Cette div est répétée en boucle jusqu'à 8 fois.

Mon Javascript :

<script type="text/javascript">
nbElements=document.getElementsByClassName("texte").length;
alert(nbElements);
for(i=0;i<nbElements;i++){
alert(getElementsByClassName("texte")[i].offsetHeight);
getElementsByClassName("texte")[i].style.top = (145-getElementsByClassName("texte")[i].offsetHeight)/2+'px';
}
</script>


Le premier alert me retourne le bon nombre d'éléments.
Le deuxième n'affiche rien.
J'ai une erreur dans Firebug : getElementsByClassName is not defined

si vous pouviez m'aider là-dessus, ça serait très sympa :)

Merci d'avance!


--------------------------------------------------------
- dev web - DA print / web - Illustratrice
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
112
Date d'inscription
lundi 6 avril 2009
Statut
Membre
Dernière intervention
17 janvier 2015
3
Merci
merci pour ta réponse, j'ai réussi en fait :

<script type="text/javascript">
tblElements=document.getElementsByClassName("texte");
//alert(tblElements.length);
for(i=0;i<tblElements.length;i++){
tblElements[i].style.top = (145-tblElements[i].offsetHeight)/2+'px';
}
</script>


--------------------------------------------------------
- dev web - DA print / web - Illustratrice

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 152 internautes nous ont dit merci ce mois-ci

Commenter la réponse de projer
Messages postés
1695
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
23 mai 2019
38
0
Merci
bonjour a la place de

alert(getElementsByClassName("texte")[i].offsetHeight);



se doit etre plutot ca

alert(nbElements[i].offsetHeight);
Commenter la réponse de @karamel