IE7下 JS画table需要写上tbody元素

今天遇到个问题,360浏览器页面请求回来的数据,JS画完不显示表格,chrome没问题360有问题,后来跟断点发现页面结构为:


IE7下 JS画table需要写上tbody元素_第1张图片
 很明显出问题了

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);
         
    }

 其实目测会出现问题但是实际解决了如图

 
IE7下 JS画table需要写上tbody元素_第2张图片
 去search了确切没有</tbody>结束部分 但是页面没问题了- - 好怪异 

你可能感兴趣的:(table)