首页 新闻 搜索 专区 学院

innerhtml+=的问题 急啊谢谢

0
悬赏园豆:10 [已解决问题] 解决于 2008-08-27 16:10
<P>我用JS的innerhtml+= 动态写了一个3*3的图片组,但是在页面却把9个小图片写到一行里面了,</P> <P>我在innerhtml+=中有&lt;tr&gt; 和&lt;td&gt;的 为什么不识别呢。</P> <P>后来我在要换行的的地方加了个&lt;br&gt;导致2行之间的间距太大了,请问有什么好方法解决下么???</P>
hghsdf的主页 hghsdf | 初学一级 | 园豆:165
提问于:2008-08-27 15:01
< >
分享
最佳答案
0
IE会自动在<table>里加一层<tbody>,所以 innerText+= 在IE里不好用,在FF里是正常的 不过操作表格的话,建议使用dom去操作,而不要使用innerHTML/innerText,试试下面的代码(直接复制保存为HTML文件打开即可): <html> <body> <table id="tb"> <tr> <td><img src="a.gif"></td> <td><img src="a.gif"></td> <td><img src="a.gif"></td> </tr> </table> <input type="button" value="添加三行三列含图片" onclick="add()"> <script type="text/javascript"> function add(){ var tbl = document.getElementById("tb"); var img = "<img src=\"a.gif\">"; for(var i=0; i<3; i++){ var newRow = tbl.insertRow(tbl.rows.length); for(var j=0; j<3; j++){ var newCell = newRow.insertCell(j); newCell.innerHTML = img; } } } </script> </body> </html>
丁学 | 专家六级 |园豆:18530 | 2008-08-27 15:56
其他回答(3)
0
你可以用innerText试一下。 顺便看看innerHTML与innerText的区别吧! 如: <html> <head><title>test</title> <script language="javascript"> function show1() { document.all.test.innerText="<font color=blue>test</font>"; } function show2() { document.all.test.innerHTML="<font color=blue>test</font>"; } </script> </head> <body> <table><tr><td id=test><font color=red>innerText</font></td> </tr></table> <a href="javascript:show1();">testinnerText</a> <a href="javascript:show2();">testinnerHTML</a> </body> </html> 结论:对于innerText 显示 "<font color=bule>test</font>" 作为一个整体内容显示。对于innerHTML显示 "test" 作为一个局部内容显示
金鱼 | 园豆:1090 (小虾三级) | 2008-08-27 15:05
0
tr,td只在table里有效,看看外面有没有table
Gray Zhang | 园豆:17610 (专家六级) | 2008-08-27 15:38
0
可能的原因是没有写</tr>来关闭行.
玉开 | 园豆:8822 (大侠五级) | 2008-08-27 15:55
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册