最近在做AJAX,想用javascript实现DataList功能,遇到一个棘手的问题,由于要生成的HTML很长,所以我写成如下的形式: list.innerHTML="<table><tr>"; list.innerHTML+="<td>" ...... 但是这样生成的innerHTML始终不对,研究了半天,原来是innerHTML搞得鬼.innerHTML自带了语法检查功能,他会自动把不完整的HTML代码补充完整.运行如下的一个测试代码就可以发现了. document.getElementById("AlbumList").innerHTML="<table><tr>"; 他会自动把我的代码里面添加了<tbody>和</tr></table>等标记.神奇!!! 那么不让他自动填写的一个办法就是用一个中间变量: var html="<table><tr>"; html+="<td>"; ...... list.innerHTML=html; 就这样就可以解决问题了. |