Partage
  • Partager sur Facebook
  • Partager sur Twitter

Comment fonctionne getElementByClass ?

    5 octobre 2008 à 13:09:47

    Salut,

    comment fonctionne getelementbyclass ? j'ai mis ce code :

    <img alt="menu" src="one.png" class="effet" onMouseover="document.getElementByClass('effet').style.opacity=0.9;" />
    


    mais ça marche pas, y'a tout le temps une erreur comme quoi la fonction n'existe pas ...

    vous avez une idée svp ?

    • Partager sur Facebook
    • Partager sur Twitter
      5 octobre 2008 à 13:26:17

      Normal : elle n'existe pas.
      La classe d'un objet se récupère en javascript avec l'attribut "ClassName". Il existe une fonction "getElementsByClassName" sensée retourner une array avec tous les éléments ayant la classe demandée, mais cette fonction est buguée sous IE et elle recherche les éléments par name et non par classe.
      La meilleure solution est de créer ta propre fonction qui prenne en compte le type d'élément et la classe souhaitée :
      function getElementsByClass(tag, class){
      	var elements = document.getElementsByTagName(tag);
      	var results = new Array();
      	for(var i=0; i<elements.length; i++){
      		if(elements[i].className == class){
      			results[results.length] = elements[i];
      		}
      	}
      	return results;
      }
      

      Cette fonction devrait te retourner une array avec tous les éléments de ta page possédant la classe souhaitée.
      Note : je n'ai pas testé la fonction, si elle foire n'hésite pas à le signaler :p
      • Partager sur Facebook
      • Partager sur Twitter
        6 octobre 2008 à 7:51:13

        Tu en trouveras d'autres ici sinon : http://ejohn.org/blog/getelementsbycla [...] d-comparison/

        Mais pour ton code il y a plus simple, il suffit de le faire en css :)
        .effet:hover { opacity: 0.9; }
        

        <img alt="menu" src="one.png" class="effet"/>
        
        • Partager sur Facebook
        • Partager sur Twitter

        Comment fonctionne getElementByClass ?

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown