当我使用Javascript innerHTML调用它时,为什么我的图像不显示?

时间:2012-03-01 21:33:25

标签: javascript image innerhtml

我是Javascript的新手,我正在尝试一些事情。我正在使用函数使用innerHTML在表中加载图像。但是图像没有显示,除非我在函数底部调用alert(“whatever”),然后在警报可见时显示。 我正在使用的代码类似于(该函数从外部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> ``

我不明白为什么它不起作用,我所看到的所有例子都是相似的,我看不出有什么大的区别。即使我试着没有标签它也行不通。欢迎任何帮助!在此先感谢,如果你对如何做到这一点有任何建议(因为我还在学习javascript,没有jquery)我也很感激。再次感谢!

4 个答案:

答案 0 :(得分:4)

您的字符串中有错误:

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

(注意“替换”

答案 1 :(得分:2)

您的代码中有很多错误和懒惰的快捷方式。我做了一个小提琴,不得不纠正一些看起来非常草率的地方...这里是你的小提琴,但是用一些奉献来玩它:http://jsfiddle.net/uXpeK/

答案 2 :(得分:1)

你没有添加图像src。它应该是href='#'它应该像这样

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

答案 3 :(得分:1)

尝试使用以下内容为图像提供“图像”ID:

function show(){
    document.getElementById('image').src = 'photos/picture.jpg'
}