2010-04-29 7 views
17

Ho provato qualche codice DOM HTML da diversi siti, ma non funziona. Non sta aggiungendo nulla. Qualcuno ha un esempio funzionante su questo?Aggiunta di immagini all'html con javascript

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

Ma non aggiunge nulla al div. (gamediv) Ho provato a document.body anche senza risultati.

Grazie in anticipo.

risposta

36

è necessario utilizzare document.getElementById() in linea 3.

Se si tenta questo adesso nella 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); 

... che ci si ottiene questo:

Adding images to the HTML with JavaScript http://img94.imageshack.us/img94/3769/googso2.png

+0

this.img = document.createElement ("img"); this.img.src = "img/eqp /" + this.apparel + "/" + this.facing + "_ idle.png"; src = document.getElementById ("gamediv"); src.appendChild (this.img); Modificato ora, ma non compare ancora nel div gamediv. – Anonymous

+0

@klausbyskov: Grazie per aver corretto l'errore di battitura. –

+0

@Anonimo: potrebbe essere che il percorso 'src' non sia corretto? Puoi provare un'immagine con un percorso assoluto, che sai per certo esiste? Ad esempio: 'http: // www.google.com/intl/en_com/images/logo_plain.png' –

1

Sbarazzarsi dei questo dichiarazioni troppo

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

Perché? È in una classe. – Anonymous

3

funziona:

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

o utilizzando jQuery:

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

Con una piccola ricerca ho scoperto che javascript non sa che a Oggetto documento esistente a meno che l'oggetto non sia già caricato prima del codice dello script (come javascript legge una pagina).

<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> 
3

oppure si può semplicemente

<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> 
Problemi correlati