Por que minha imagem não aparece quando eu uso o Javascript innerHTML para chamá-la?

Eu sou bastante novo em Javascript e estava tentando algumas coisas. Estou usando uma função para carregar uma imagem dentro de uma tabela usando innerHTML. Mas a imagem não aparece, a menos que eu chame alerta ("tanto faz") na parte inferior da função, então ela aparece enquanto o alerta está visível. O código que estou usando é algo como (a função é chamada de um arquivo 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> ``

e você está procurando por um produto que não seja o que você está procurando, não deixe de conferir a nossa lista de produtos que podem te interessar. Bem, qualquer ajuda bem-vinda! Agradecemos antecipadamente, e se você tiver alguma sugestão sobre como fazer isso (sem jquery, pois ainda estou aprendendo javascript), também agradeceria. Obrigado novamente

questionAnswers(8)

yourAnswerToTheQuestion