最近在做AJAX,想用javascript實現DataList功能,遇到一個棘手的問題,由于要生成的HTML很長,所以我寫成如下的形式:
list.innerHTML="<table><tr>";
list.innerHTML+="<td>"
......
但是這樣生成的innerHTML始終不對,研究了半天,原來是innerHTML搞得鬼.innerHTML自帶了語法檢查功能,他會自動把不完整的HTML代碼補充完整.運行如下的一個測試代碼就可以發現了.
document.getElementById("AlbumList").innerHTML="<table><tr>";
alert(document.getElementById("AlbumList").innerHTML);
他會自動把我的代碼里面添加了<tbody>和</tr></table>等標記.神奇!!!
那么不讓他自動填寫的一個辦法就是用一個中間變量:
var html="<table><tr>";
html+="<td>";
......
list.innerHTML=html;
就這樣就可以解決問題了.
新聞熱點
疑難解答