Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/05/2011, 19h25   #1
Invité régulier
 
Inscription : mai 2011
Messages : 18
Détails du profil
Informations forums :
Inscription : mai 2011
Messages : 18
Points : 5
Points : 5
Par défaut Ajouter une image dynamique dans document

Bonjour, j'aimerais ajouter une image créée dynamiquement grâce à Javascript dans "document". Voici à quoi mon code ressemble pour le moment :

Code :
1
2
3
4
var img = new Image();
img.src = "../Images/taskbar_icons/chrome_mini_icon.png";
 
document.getElementById("taskbar_left").innerHTML += img;
Malheureusement, ce qui est ajouté au document n'est nul autre qu'une string "[object HTMLImageElement]". Comment dois-je m'y prendre ?

Merci d'avance,
Francis
francis.c est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/05/2011, 19h33   #2
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 933
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 933
Points : 4 756
Points : 4 756
Bonjour,
passes par les méthodes standard d'intégration d'éléments dans un document
Code :
1
2
3
4
5
6
7
8
// recup objet destination
var oDiv = document.getElementById("taskbar_left")
// cretation image
var oImg = document.createElement('img');
//-- Ajout image
oDiv.appendChild( oImg);
//-- affecte l'image
oImg.src = "../Images/taskbar_icons/chrome_mini_icon.png"
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/05/2011, 19h35   #3
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 128
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 128
Points : 7 270
Points : 7 270
Bonsoir
Remplace
Citation:
document.getElementById("taskbar_left").innerHTML += img;
par
Code :
document.getElementById("taskbar_left").appendChild(img);
A+.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/05/2011, 21h27   #4
Invité régulier
 
Inscription : mai 2011
Messages : 18
Détails du profil
Informations forums :
Inscription : mai 2011
Messages : 18
Points : 5
Points : 5
Merci pour vos réponses, ça m'a bien aidé ! J'ai continué a développé un peu et puis je suis arriver à un autre problème. J'aimerais pouvoir savoir le ID de la div qui contient mon image. J'ai essayé avec parentNode mais tout ce que j'arrive à obtenir c'est le type de noeud (c'est-à-dire TD par exemple)

edit : C'est bon j'ai finalement trouvé, il suffisait de récupérer l'image en appelant getElementById à la racine du document, et ensuite remonter d'un niveau avec parentNode, puis parcourir c'est attribues :

Code :
img.parentNode.attributes.getNamedItem("id").value;
francis.c est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/05/2011, 22h40   #5
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 933
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 933
Points : 4 756
Points : 4 756
pourquoi ne pas utiliser directement parentNode.id, ou si c'est un click sur l'image ajoutée autant stocker l'info à l'insertion
Code :
1
2
3
4
5
oImg.parentID = oDiv.id; // creation d'une propriete
oImg.onclick = function(){
  alert( this.parentID);       // 1st solution
  alert( this.parentNode.id);  // 2nd solution
}
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h55.


 
 
 
 
Partenaires

Hébergement Web