IE7下 JS画table亟需协商tbody元素
IE7下 JS画table需要协商tbody元素
今天遇到个问题,360浏览器页面请求回来的数据,JS画完不显示表格,chrome没问题360有问题,后来跟断点发现页面结构为:
很明显出问题了
html部分代码
<table border="0" cellspacing="0" cellpadding="0" class="zhlc_table" id="zhlc_table"> </table>
js部分
var txtContent = XmlParser(response.responseXML, {record: "txtContent"});
var fileContent=txtContent[0];
var tableEle=document.getElementById('zhlc_table');
for (var i = 0; i < fileContent.map.length; i++)
{
var trEle= document.createElement('tr');
var thEle = document.createElement('th');
thEle.innerHTML = fileContent.map[i].key;
var tdEle = document.createElement('td');
var inputEle = document.createElement('span');
var lineContent = fileContent.map[i].value
var lineContentArr = lineContent.split('*');
var lineRealContent ='';
for(var j = 0; j < lineContentArr.length; j++)
{
lineRealContent += lineContentArr[j];
lineRealContent += '<br />'
}
inputEle.innerHTML=lineRealContent;
tdEle.appendChild(inputEle);
trEle.appendChild(thEle);
trEle.appendChild(tdEle);
tableEle.appendChild(eleTbody);
}
从网上看看类似问题 貌似是IE7下默认会给个<tbody/> 标签但是画页面并没有写到table下
JS改进了下
var txtContent = XmlParser(response.responseXML, {record: "txtContent"});
var fileContent=txtContent[0];
var tableEle=document.getElementById('zhlc_table');
var eleTbody = document.createElement("TBODY");
for (var i = 0; i < fileContent.map.length; i++)
{
var trEle= document.createElement('tr');
var thEle = document.createElement('th');
thEle.innerHTML = fileContent.map[i].key;
var tdEle = document.createElement('td');
var inputEle = document.createElement('span');
var lineContent = fileContent.map[i].value
var lineContentArr = lineContent.split('*');
var lineRealContent ='';
for(var j = 0; j < lineContentArr.length; j++)
{
lineRealContent += lineContentArr[j];
lineRealContent += '<br />'
}
inputEle.innerHTML=lineRealContent;
tdEle.appendChild(inputEle);
trEle.appendChild(thEle);
trEle.appendChild(tdEle);
eleTbody.appendChild(trEle);
tableEle.appendChild(eleTbody);
}
其实目测会出现问题但是实际解决了如图
去search了确切没有</tbody>结束部分 但是页面没问题了- - 好怪异