Retourner aux forums || Retourner au forum Programmation.web

Programmation.web : Javascript : getElementById avec un paramètre variable

Posté par David FRANCOIS (page perso, ) le 20 septembre 2006
0
Bonjour, je souhaite donner une variable en paramètre à getElementById() mais le code suivant ne fonctionne pas :
function deleteSection (section) {
    section = 'section_'+section;
    document.getElementById(section).style.display = "none";
}
Il considère le paramètre comme une chaîne littérale et pas une variable... Comment puis-je faire ca ? Merci beaucoup!

--
Save the planet, kill yourself.
> Lire le message (5 commentaires, moyenne: 1,4).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

Sous n'importe quel browser?

Posté par duaner () le 20/09/2006 à 15:35. (lien). Évalué à 2.

Il y a un petit truc auquel il faut faire attention si tu testes sous IE, il a quelques problemes a gérer les variables qui ont le meme nom qu'un element de ton document, donc si tu as un quelque part, le probleme pourrait etre là.

Sinon le problème doit venir d'ailleurs, ce bout de script est correct. As-tu essayé d'alert(section) histoire de voir ce qu'il y avait bien dedans, et si ce que tu passes à ta fonction est bon?

  • [^]Re: Sous n'importe quel browser?

    Posté par David FRANCOIS (page perso, ) le 20/09/2006 à 16:06. (lien). Évalué à 1.

    J'ai testé avec l'alert, il me renvoie ce que j'attends, mais le débuggeur Firefox me dit :

    Erreur : document.getElementById(section) has no properties
    
    alors que j'ai bien un avec le bon ID et du contenu...

    --
    Save the planet, kill yourself.
    • [^]Re: Sous n'importe quel browser?

      Posté par duaner () le 20/09/2006 à 16:22. (lien). Évalué à 2.

      Mmmh c'est louche, est-ce que tu vois bien l'element avec cet id dans le DOM Inspector? Ta fonction fonctionne, c'est sur, pour autant que t'aies un id qui existe. Peut etre un bout de code html avec tout ca pourrait aider...

      P.S. il faut rajouter <foo id="section"> dans mon post précédent, ostie d'éditeur :)

      • [^]Re: Sous n'importe quel browser?

        Posté par David FRANCOIS (page perso, ) le 20/09/2006 à 16:31. (lien). Évalué à 1.

        Ok, au temps pour moi, après inspection dans l'inspecteur DOM, l'ID avait un espace en queue....
        Merci pour l'aide !

        --
        Save the planet, kill yourself.

fonction qui marche

Posté par Olivier Jeannet () le 20/09/2006 à 16:04. (lien). Évalué à 1.

J'utilise la fonction suivante, qui marche sous IE et sous Firefox au moins, et qui utilise un paramètre :

function cacherSiExiste(id) {
. . var elt = document.getElementById(id);
. . if (elt != null) elt.style.visibility ='hidden';
}

Et pour l'appel de la fonction, j'ai par exemple :
cacherSiExiste('tableResultats');

Revenir en haut de page || Retourner aux forums || Retourner au forum Programmation.web