2010-04-29 5 views
17

Я пробовал код HTML DOM с нескольких сайтов, но он не работает. Это ничего не добавляет. У кого-нибудь есть рабочий пример по этому поводу?Добавление изображений в html с помощью javascript

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

+0

@klausbyskov: Спасибо за исправление опечатки. –

+0

@ Анонимно: Может быть, неправильный путь 'src'? Можете ли вы попробовать изображение с абсолютным путем, который вы точно знаете? Например: http: // www.google.com/intl/en_com/images/logo_plain.png' –

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

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> 
Смежные вопросы