`

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>结束部分 但是页面没问题了- - 好怪异 

  • 大小: 6.3 KB
  • 大小: 3 KB
分享到:
评论

相关推荐

    FixedTable.7z

    table固定左侧多列,画面中可对多个table进行固定,谷歌、ie都试过没问题;之前实在是网上找不到好的,就自己整合弄了一个,质量没的说,肯定胜过90%其他的;调用简单: 例子是:html+jquery+FixedTable.js $("#...

    js 实现 table 行排序

    === SortTableTool.js 实现table行排序. === 源码中有详细说明.sort_table.html 为示例html. 1.支持的排序数据类型有 Number,String,Date,NoCaseString 2.默认开始为升序,可指定为降序. 3.默认为只排序第一个tbody,...

    IE6-IE9中tbody的innerHTML不能赋值的解决方法

    IE6-IE9中tbody的innerHTML不能赋值,重现代码如下 Js代码 &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;meta charset=utf-8/&gt; &lt;title&gt;IE6-IE9中tbody的innerHTML不能复制bug&lt;/title&gt; &lt;/...

    javascript-xpath-latest.js

    1. 更换默认的xpath库 除了ie,其他主要浏览器都是内置对xpath的支持的,但ie不行,所以selenium 使用了javascript库,默认使用的...assertTrue(selenium.isElementPresent("//div[1]/table/tbody/tr[2]/td[2]"));

    JS固定表头和左边列(最新源码)1.9

    增加了IE6/IE7/IE8 启用设置参数(ieLowVersionEnabled: true|false) ,默认不启用, 注:IE6/7/8锁定表头 由于兼容性问题,有些情况下会有一些错位的问题 1.5 增加了 显示/隐藏功能,修正了非IE浏览器下列宽...

    html table表单排序bydarkst_sort.js

    于是自己写了一个,50行代码左右,自己用的爽歪歪,支持chorme,ie其他的没环境测试。如有发现BUG请告知,谢谢! /**********************************************************************************************...

    JS固定表头和左边列V2.0(源码)

    临时解决方案:在第3个参数(config)中指定 isBootstrap:true,或者也可以不指定,js会自动检测页面上有没有启用文件名为bootstrp的css(如果启用bootstrap.css,但文件名不是bootstrap,那请指定isBootstrap参数)。...

    firefox TBODY 用js显示和隐藏时出现错位的解决方法

    今天帮别人写一个网页,发现:当用javascript动态设置tr.style.display = "block"显示某行时,使用IE浏览没有问题,但使用firefox浏览时该行被移到了其它行的后面,很是诧异。

    JsDom 编程小结

    1.浏览器兼容问题: 浏览器兼容性的例子:ie6,ie7对table.appendChild(“tr”)的支持和IE8不一样,用insertRow、insertCell来代替或者为表格添加tbody,然后向tbody中添加tr。FF(FireFox)不支持InnerText,用...

    IE 下的只读 innerHTML

    今天做东西遇到一个问题,我试图动态为一个表格添加多行数据,先定义了一个table: 代码如下: &lt;table&gt; &lt;thead&gt; &lt;/thead&gt; &lt;tbody id=”filelist”&gt; &lt;/tbody&gt; &lt;/table&gt; 然后在JavaScript 中这样操作: 代码如下: for...

    harlequin:一个用于生成彩色格式化数据表的JS库

    列标题必须是thead th元素,要条带化的数据必须是tbody内的td元素。 基本用法 Harlequin 的基本用法是: Harlequin.stripe("table_id","direction") 第一个参数是您希望条带化的表的 id,第二个是您希望条带化的...

    用JS写的一个TableView控件代码

    请看看编码是否规范,使用是否方便HTML: 代码 代码如下: &lt;table id=”customTableView”&gt; &lt;thead&gt; &lt;tr&gt; 编号&lt;/td&gt; 姓名&lt;/td&gt; &lt;/tr&gt; &lt;/thead&gt; &lt;tbody&gt;&lt;!–template-tbody–&gt; ”” xss=removed&gt;&lt;!–template-tr...

    时间控件,个人喜欢用的js时间控件

    js时间控件,用起来很方便! Calendar = function (mondayFirst, dateStr, onSelected, onClose) { // member variables this.activeDiv = null; this.currentDateEl = null; this.checkDisabled = null; this....

    html入门到放弃笔记

    2、title :鼠标悬停在元素上时,体现的文字 3、class :引用 类选择器时使用(CSS中) 4、style :定义 内联方式方式使用(CSS中) 4、注释 语法:&lt;!-- --&gt; 注意: 1、注释不能嵌套 2、注释不能出现在...

Global site tag (gtag.js) - Google Analytics