Почему мое изображение не отображается, когда я использую Javascript innerHTML для его вызова? - PullRequest
6 голосов
/ 02 марта 2012

Я довольно новичок в Javascript, и я кое-что пробовал. Я использую функцию для загрузки изображения внутри таблицы, используя innerHTML. Но изображение не отображается, если я не вызову alert («что угодно») внизу функции, затем оно появляется, пока предупреждение видно. Код, который я использую, выглядит примерно так (функция вызывается из внешнего файла js)

<script>
   function show(){
        document.getElementById('imageHolder1').innerHTML="<a href="#"><img='photos/picture.jpg' border=0/></a>";
    }
</script>

<body> <input name="b1" type="button" value="pics" onclick="show()"/>
<table><td id='imageHolder1'>picture</td></table>
</body> ``

Я не понимаю, почему это не работает, все примеры, на которые я смотрел, похожи, я не вижу больших отличий. Даже если я попробую без тега, это не будет работать. Ну любая помощь приветствуется! Заранее спасибо, и если у вас есть какие-либо предложения о том, как это сделать (без jquery, так как я все еще изучаю javascript), я был бы также признателен. Еще раз спасибо!

Ответы [ 4 ]

4 голосов
/ 02 марта 2012

В вашей строке есть ошибка:

document.getElementById('imageHolder1').innerHTML="<a href="#"><img='photos/picture.jpg' border=0/></a>";

Должен читать

document.getElementById('imageHolder1').innerHTML="<a href='#'><img src='photos/picture.jpg' border=0/></a>";

(уведомление о замене)

2 голосов
/ 02 марта 2012

В вашем коде много ошибок и ленивых ярлыков. я сделал скрипку и мне пришлось исправить несколько мест, которые выглядят как очень поспешная работа ... вот ваша скрипка, но играйте с некоторой преданностью: http://jsfiddle.net/uXpeK/

1 голос
/ 02 марта 2012

Попробуйте присвоить изображению идентификатор «image», затем используйте следующее:

function show(){
    document.getElementById('image').src = 'photos/picture.jpg'
}
1 голос
/ 02 марта 2012

Вы не добавляете изображение src. и это должно быть href='#' это должно быть так

function show(){
     document.getElementById('imageHolder1').innerHTML="<a href='#'><img src='photos/picture.jpg' border='0'/></a>";
}
...