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

Я довольно новичок в 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), я был бы также признателен. Еще раз спасибо!

 user1775301 мар. 2012 г., 22:38
Проверьте #, вам нужно экранировать "в вашей строке innerHTML. InnerHTML - зверь, с которым нужно работать, потому что вы должны убедиться, что все, что вы вставляете, является верным и хорошим HTML. Возможно, вы захотите взглянуть на более многословный, но более Доверяйте достойному DOM манипулированию JavaScript, напримерappendChild и т.п.
 user1775301 мар. 2012 г., 22:41
Кроме того, я предлагаю вам поработать с чем-то вроде firebug для FF или другого отладчика JavaScript, так как эти ошибки легче обнаружить.
 biobio01 мар. 2012 г., 23:40
спасибо, я попробую appendChild и окончательно посмотрю на отладчики Javascript, поскольку с этим примером, похоже, ничего не работает.

Ответы на вопрос(4)

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

 biobio01 мар. 2012 г., 23:46
Большое спасибо, что нашли время, чтобы сделать это! Я думаю, это как-то связано с добавлением важных атрибутов.

а затем используйте следующее:

function show(){
    document.getElementById('image').src = 'photos/picture.jpg'
}
 Jack01 мар. 2012 г., 23:39
Рад, что помог.
 biobio01 мар. 2012 г., 23:38
Спасибо! оно работает.

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

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

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

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

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

 biobio01 мар. 2012 г., 23:49
правда я стёр при вставке
 Dagg Nabbit01 мар. 2012 г., 22:40
Это должно быть плохо вырезано, иначе это приведет к SyntaxError

Ваш ответ на вопрос