¿Por qué mi imagen no aparece cuando uso Javascript innerHTML para llamarla?

Soy bastante nuevo en Javascript, y estaba probando algo. Estoy usando una función para cargar una imagen dentro de una tabla usando innerHTML. Pero la imagen no aparece, a menos que llame a alerta ("lo que sea") en la parte inferior de la función, entonces aparece mientras la alerta está visible. El código que estoy usando es algo así (la función se llama desde un archivo js externo)

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

No entiendo por qué no funciona, todos los ejemplos que he visto son similares, no veo grandes diferencias. Incluso si intento sin la etiqueta, no funciona. Bueno cualquier ayuda bienvenida! Gracias de antemano, y si tiene alguna sugerencia sobre cómo hacer esto (no jquery ya que todavía estoy aprendiendo javascript) también lo agradecería. ¡Gracias de nuevo

Respuestas a la pregunta(8)

Su respuesta a la pregunta