天天看點

Javascript:小心使用innerHTML

最近在做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;

就這樣就可以解決問題了.

Javascript:小心使用innerHTML

繼續閱讀