2010-04-29 95 views
17

我試過了幾個網站的一些HTML DOM代碼,但它不工作。它沒有添加任何東西。有沒有人有這個工作的例子?用javascript將圖像添加到html

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

但它沒有添加任何東西到div。 (gamediv)我也試過document.body,沒有結果。

在此先感謝。

回答

36

您需要使用document.getElementById()在第3行

如果您在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); 

...你會得到這樣的:

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); 現在改變了它,但它仍然不會在div gamediv中彈出。 – Anonymous 2010-04-29 08:51:01

+0

@klausbyskov:感謝您修復錯字。 – 2010-04-29 08:53:14

+0

@Anonymous:難道是'src'路徑不正確?你可以嘗試一個絕對路徑的圖像,你知道肯定存在嗎?如:'http:// www.google.com/intl/en_com/images/logo_plain.png' – 2010-04-29 08:54:44

1

擺脫語句太

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

爲什麼?這是一堂課。 – Anonymous 2010-04-29 09:01:39

3

這工作的:

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

或者使用jQuery:

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

隨着一點點的研究,我發現, JavaScript不知道一個文檔對象存在,除非對象已經在腳本代碼之前加載(當JavaScript讀取頁面時)。

<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

,或者就

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