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

本文解决了一个在360浏览器中使用JS动态生成表格时出现的问题,该问题在Chrome浏览器中正常显示,但在360浏览器中无法正确渲染。通过在表格元素中加入<tbody>标签,成功解决了此兼容性问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天遇到个问题,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>结束部分 但是页面没问题了- - 好怪异 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值