[javascript] problème getElementById sur un objet <A>

problème getElementById sur un objet <A> [javascript] - HTML/CSS - Programmation

Marsh Posté le 22-06-2007 à 11:46:36    

Bonjour,
 
Ce code me rends bien un HTMLImageElement pour la première alert (id toto) mais rien , même pas un null ou une erreur...RIEN pour la deuxieme alert (id titi) alors que je m'attends a recuperer un HTMLAnchorElement...
merci pour vos avis
 
<html>
<head>
</head>
<body>
<script type="text/javascript">
function fonc() {
alert(document.getElementById("toto" ));
alert(document.getElementById("titi" ));
}
</script>
 
<a id="titi">
<img id="toto" src="active.gif" onclick="fonc()" />
</a>
 
</body>
</html>

Reply

Marsh Posté le 22-06-2007 à 11:46:36   

Reply

Marsh Posté le 22-06-2007 à 12:19:40    

les HTMLAnchorElement ont une methode toString qui affiche en fait le contenu de leur attribut href.
Et comme ton lien n'en a pas il n'affiche rien.
Donc commence par corriger ton lien en y ajoutant un href, profites-en pour virer le onclick de l'image et pour le mettre sur le lien.

Reply

Marsh Posté le 25-06-2007 à 09:45:41    

merçi
en effet je n'ai mis ce bout de code que comme un exemple...
en fait pour être plus précis j'ai ceci:
 

Code :
  1. <a id="titi" onclick="blabla1" onmouseover="blabla2" omouseout="blabla3">
  2. <img src="image.gif" />
  3. </a>


 
et même en ajoutant un href="" dans la balise a, je n'arrive pas a acceder cet objet titi : ce que je souhaite c'est modifier le onmouseOver suivant certaines conditions et n'ayant pas accès à l'objet titi je ne peux pas avoir accès à ses attributs...


Message édité par fabrice91 le 25-06-2007 à 09:46:32
Reply

Marsh Posté le 25-06-2007 à 10:34:22    

le plus simple (AMA):

Code :
  1. <a id="titi" onclick="blabla(this)" onmouseover="blabla2" omouseout="blabla3">
  2.     <img src="image.gif" />
  3.     </a>


puis

Code :
  1. function blabla(obj){
  2.   if ( truc == 1 ){
  3.     obj.onmouseover = function (){
  4.      ...
  5.     }
  6.   } else {
  7.     ...
  8.   }
  9. }

Reply

Marsh Posté le 25-06-2007 à 11:04:30    

anapajari a écrit :

le plus simple (AMA):


oki merçi ça fonctionne, le seul pb c'est que le onmouseover se fait juste après le onclick.
Le onmouseover declenche une fonction d'affichage d'une info bulle sur l'image qui est en lien...
Avec ta methode, la fonction onmouse over se declenche apres le onclick, donc je vois mon info bulle MEME si je suis pas sur mon image...et dès que je passe sur une AUTRE image (qui me donne naturellement une autre info bull) et que je REVIENS sur l'image précédente , la nouvelle info bulle ne se réaffiche pas comme si le onmouseover ne marchait qu'une seule fois et plus du tout ensuite...
je continue les tests, merci pour la très bonne piste...

Reply

Marsh Posté le 25-06-2007 à 11:37:44    

a mon avis ton pb est plus sur le onmouseout que le over.
Dans l'ordre tu dois normalement avoir mouseover->click->out.
Y'a moyen que tu montres ton code qu'on puisse y jeter un oeil?

Reply

Marsh Posté le 25-06-2007 à 11:46:52    

oups je rectifie, ça marche...
 :pt1cable:  
en fait à la ligne 3 de ton code j'ai remplacé function par le nom de MA FONCTION alors qu'en fait il faut garder le mot clé "function" et mettre ma fonction dans les { }...
merci bien, donc !!!  :jap:


Message édité par fabrice91 le 25-06-2007 à 11:47:23
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed