2014-11-13 3 views
2

пытается добавить изображение в мой innerHTML.Обратное изображение как HTML

Посмотрел несколько prvious Q-х Why does my image not show up when I use Javascript innerHTML to call it?

Javascripts innerHTML not working for images, but works with text?

Я не могу заставить его работать, в Google Дев инструментов бросает ошибку:

Uncaught TypeError: Cannot set property 'innerHTML' of null 

с этой линии:

var newImage = document.getElementById('img').innerHTML = "<img src='images/bg-main.png></img>"; 

мой код выглядит как:

function showImage() { 
    var img = document.createElement('image'); 
    //var newImage = document.getElementById('img').innerHTML = "<a href='#'><img src='http://mintywhite.com/wp-content/uploads/2012/10/fond-ecran-wallpaper-image-arriere-plan-hd-29-HD.jpg' border=0/></a>"; 
    var newImage = document.getElementById('img').innerHTML = "<img src='images/bg-main.png></img>"; 
    var div5 = document.createElement('div'); 
    div5.appendChild(newImage); 

    return div5.innerHTML; 

} 

Я знаю, что есть много других методов для отображения изображения, но для этого упражнения я хочу, чтобы вернуть изображение как innerHTML

+1

Зачем использовать 'document.getElementById ('img')'? Является ли это следующим образом: ''? – ekad

+2

@ekad: img теги не имеют внутреннего html в любом случае. они являются одноэлементным тегом. это должно быть '

' или что-то. Кроме того, зачем создавать тег изображения, а затем никогда не использовать его? 'img.src =" images/bg-main.jpg ";' будет делать то же самое. У ОП есть какой-то серьезный шизофренический код. –

+0

технически вам понадобится внешнийHTML, чтобы охватить тег тоже, но даже тогда я не уверен, что он сработает. –

ответ

2

Попробуйте это:

var img = document.createElement("img"); 
img.setAttribute('src', 'http://www.domain.com/imgSrc'); 
var div5 = document.createElement('div'); 
div5.appendChild(newImage); 
+0

спасибо за помощь B – John

0

document.createElement('image') создает новый тег html: <image> Я подозреваю, что вы пытаетесь добавить div и применить изображение как внутренний html. вы можете исправить этот код следующим образом:

function showImage() { 
    var img = document.createElement('div'); 
    document.body.appendChild(img) 
    img.innerHTML = "<img src='images/bg-main.png></img>"; 
} 
Смежные вопросы