web-dev-qa-db-fra.com

Ajout d'images à un document HTML avec javascript

J'ai essayé du code HTML DOM sur plusieurs sites, mais cela ne fonctionne pas. Cela n'ajoute rien. Quelqu'un at-il un exemple de travail à ce sujet?

this.img = document.createElement("img");
this.img.src = "img/eqp/"+this.apparel+"/"+this.facing+"_idle.png";
src = getElementById("gamediv");
src.appendChild(this.img)

Mais cela n'ajoute rien au div. (gamediv) J'ai aussi essayé document.body, sans résultat.

Merci d'avance.

19
Anonymous

Vous devez utiliser document.getElementById() à la ligne 3.

Si vous essayez cela maintenant dans la console Firebug:

var img = document.createElement("img");
img.src = "http://www.google.com/intl/en_com/images/logo_plain.png";

var src = document.getElementById("header");
src.appendChild(img);

... vous obtiendrez ceci:

Ajout d'images au HTML avec JavaScript http://img94.imageshack.us/img94/3769/googso2.png

41
Daniel Vassallo

Cela marche:

var img = document.createElement('img');
img.src = 'img/eqp/' + this.apparel + '/' + this.facing + '_idle.png';
document.getElementById('gamediv').appendChild(img)

Ou en utilisant jQuery:

$('<img/>')
.attr('src','img/eqp/' + this.apparel + '/' + this.facing + '_idle.png')
.appendTo('#gamediv');
4
Guffa

Avec un peu de recherche, j'ai trouvé que javascript ne sait pas qu'un objet de document existe sauf si l'objet a déjà été chargé avant le code de script (comme javascript lit une page).

<head>
    <script type="text/javascript">
        function insert(){
            var src = document.getElementById("gamediv");
            var img = document.createElement("img");
            img.src = "img/eqp/"+this.apparel+"/"+this.facing+"_idle.png";
            src.appendChild(img);
        }
     </script>
 </head>
 <body>
     <div id="gamediv">
         <script type="text/javascript">
             insert();
         </script>
     </div>
 </body>
4
user2886138

ou vous pouvez simplement

<script> 
document.write('<img src="/*picture_location_(you can just copy the picture and paste   it into the the script)*\"')
document.getElementById('pic')
</script>
<div id="pic">
</div>
2

Débarrassez-vous aussi des instructions this

var img = document.createElement("img");
img.src = "img/eqp/"+this.apparel+"/"+this.facing+"_idle.png";
src = document.getElementById("gamediv");
src.appendChild(this.img)
1
Peter Bridger