Impossible d'obtenir la propriété 0 d'une réference null ou non

Résolu
Aminax Messages postés 88 Statut Membre -  
Aminax Messages postés 88 Statut Membre -
Bonjour ;
J'aimerai créer des liens permettant d'afficher l'image associé à la saison
Voila mon code mais il me déclenche une erreur : Impossible d'obtenir la propriété 0 d'une réference null ou non définie
j'a pas pu résoudre ce problème ; j'ai besoin d'aide
Et merci d'avance

code :
   
<html>
<head>
<title> New Document </title>

<script language="javascript">
Image1 = new Image();
Image1.src = "printemps.jpg";
Image2 = new Image();
Image2.src = "ete.jpg";
Image3 = new Image();
Image3.src = "automne.jpg";
Image4= new Image();
Image4.src = "hiver.jpg";
Image5 = new Image();
Image5.src = "vide.jpg";
function afficheImage(objet){

document.Images[0].src= objet.src;
}
</script>
</head>

<body>
<table border="0">
<tr>
<td align="center">
<a href="#" OnClick="afficheImage(Image1)"> cliquer ici pour voir une image printemps </a><br>
<a href="#" OnClick="afficheImage(Image2)"> cliquer ici pour voir une image ete </a><br>
<a href="#" OnClick="afficheImage(Image3)"> cliquer ici pour voir une image automne </a><br>
<a href="#" OnClick="afficheImage(Image4)"> cliquer ici pour voir une image hiver </a><br>
<a href="#" OnClick="afficheImage(Image5)"> cliquer ici pour voir le vide </a>
</td>
</tr>
<tr>
<td align="center">
<img src="hiver.jpg">
</td>
</tr>
</table>
</body>
</html>

3 réponses

  1. Aminax Messages postés 88 Statut Membre
     
    oui ça marche :o !! Mais j'ai pas compris le fait de faire : getElementsByTagName("img")[0] et non document.Images[0].src= objet.src; !! est ce qu'il a une relation avec OnClick ? et merci lobotoFix
    0
    1. Utilisateur anonyme
       
      salut je connais pas ce moyen d'accéder au image par Image directement. On a tous une façon de coder différente :)
      0
    2. Aminax Messages postés 88 Statut Membre
       
      oui mais cette fonction getElementsByTagName("img") retourne quoi ! et merci une autre fois d'avoir répondu
      0
    3. ryko1820 Messages postés 1633 Date d'inscription   Statut Membre Dernière intervention   310
       
      Hello,

      je dirais que ça retourne un objet ... :p
      si tu veux être sûr tu fais un
      alert(getElementsByTagName("img"));

      ou plus proprement
      alert(typeof(getElementsByTagName("img")));


      Sinon si tu veux lister ses propriétés (ce qui pourrait être utile) :

      var myObj = getElementsByTagName("img");
      var props=""
      for (prop in myObj){ props+= prop +  " => " +myObj[prop] + "\n"; }
      alert (props)
      0
    4. Aminax Messages postés 88 Statut Membre
       
      merci ryko1820
      mon programme est juste !! document.images (sans.le i majuscule ) :/// *boff*
      0
  2. Utilisateur anonyme
     
    salut en fait si tu fais par exemple :

    var mes_images = document.getElementsByTagName("img");


    tu parcours le DOM et tu "stock" dans mes_images toutes tes balises img sous forme de tableau.

    puisque dans ton exemple tu n'a qu'une balise img, donc c'est la première du document on met [0] puisque l'on compte à partir de 0.

    Si la balise sur laquelle tu souhaite agir se trouve en 5 eme position, tu l'a compris il faudra mettre [4].

    Attends je te trouve la Doc

    http://www.w3schools.com/jsref/met_doc_getelementsbytagname.asp

    tu as aussi getElementsByName, getElementsByClassName qui fonctionne pareil mais en sélectionnant cette fois ci et de manière respective les attribut name et class.

    getElementById (attention sans s) permet de sélectionner un élément par son identifiant. Le résultat n'est pas un tableau .

    je sais pas si c'est bien expliqué mais c'est avec mes mots et mes fautes d'orthographe :)
    0
    1. Utilisateur anonyme
       
      si tu pense que ton sujet est résolu, passe en résolu
      0
    2. Aminax Messages postés 88 Statut Membre
       
      je viens de voir ta réponse !! merci beaucoup lobotoFix :) .. c'est claire !! ^-^
      0
  3. Utilisateur anonyme
     
    salut essaye ta fonction comme ceci :

    function afficheImage(objet){ 
      
      document.getElementsByTagName("img")[0].src= objet.src; 
      } 
    

    -1