我正在制作一个画廊。我正在尝试通过脚本创建一个表。
一切正常但图片在td
中无法显示:
<doctype html> <html>
<head> </head>
<body>
<table border="1" align="center">
<script>
var cont= new Array("pic1.jpg","pic2.jpg","pic3.jpg","pic4.jpg","pic5.jpg","pic6.jpg","pic7.jpg","pic8.jpg","pic9.jpg","pic10.jpg","pic11.jpg","pic13.jpg","pic14.jpg","pic15.jpg","pic16.jpg")
var col=5;
var ro=3;
v=0;
for (i=0; i<ro; i++)
{
document.write("<tr>")
for (j=0; j<col; j++)
{
document.write("<td id='d' width='150px' height='150px'> </td>")
h=document.getElementById("d")
h.src= cont[v];
}
document.write ("</tr>")
}
document.title="no error"
</script>
</table>
</body>
</html>
答案 0 :(得分:1)
它没有显示,因为您正在向src
添加td
属性,但应该在img
标记中使用它。
为什么不直接在html字符串中添加属性,而不是在创建后尝试通过id获取?
document.write("<td id='d' width='150px' height='150px'><img src='" + cont[v] + "' /></td>")
甚至更好,也许:
document.write("<td><img src='" + cont[v] + "' width='150px' height='150px' /></td>")
您还需要在某处增加v
变量,否则您只会获得第一张图片,请尝试使用cont[v++]
。
答案 1 :(得分:0)
当你添加几个具有相同id的元素时,函数为:
document.getElementById("d")
返回意外结果。
你做错的另一件事是设置src to td标签而不是img标签。