GetElementsByClassName [Résolu]

projer 112 Messages postés lundi 6 avril 2009Date d'inscription 17 janvier 2015 Dernière intervention - 11 janv. 2012 à 18:38 - Dernière réponse : projer 112 Messages postés lundi 6 avril 2009Date d'inscription 17 janvier 2015 Dernière intervention
- 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
projer 112 Messages postés lundi 6 avril 2009Date d'inscription 17 janvier 2015 Dernière intervention - 12 janv. 2012 à 10:54
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

Merci projer 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de projer
@karamel 1661 Messages postés vendredi 9 mai 2008Date d'inscription 23 août 2018 Dernière intervention - 11 janv. 2012 à 22:46
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.