平常用多了jquery,发现原生js通过字符串往table里添加一行还有点复杂,以至于浪费了挺多时间。
这里直接上一个案例,注意ajax也是纯js的
由于不能直接对table进行innerHTML操作(IE会报错)原因是:主要是使用此属性的标签的“包容性”不高,经常是table,tr,td,form等引起的,特别是需要更改这些标签内部的内容是最易发生
解决办法是:将talbe用div括起来,建议使用div,span此类“包容性”较高的标签。像form标签,需要对form内部的标签使用innerHTML的话,就可以将form标签改为div标签,
html代码:
<div id="rlrztable">
</div>
js代码:
function sucfunc(response){
var myobj=response.responseText.evalJSON(true);
var isTrue=myobj.isTrue;
var tabStr="<table border='5px'><tr><td>用户</td><td>验证次数</td><td>登录次数</td><td>注册次数</td><td>验证失败次数</td></tr>";
for(var j=0;j<myobj.pjyList.length;j++){
var tablist = myobj.pjyList[j];
for(var i = 0;i<tablist.length;i++){
var obj = tablist[i];//得到每一行
if(i==0){
tabStr+="<tr>"
}
tabStr+="<td>"+obj+"</td>"
}
tabStr+="</tr>"
}
tabStr+="</table>"
var t = document.getElementById("rlrztable");
t.innerHTML = tabStr;
}