`

IE不支持table.innerHtml

    博客分类:
  • web
 
阅读更多
今天早上回到公司,发现写程序在谷歌浏览器显示正常,在IE下显示错误,查其原因,发现IE6到IE9不支持,table.innerHTML方法,于是在网上搜到一个方法,来解决这个问题
/**
 * IE6-IE9不支持table.innerHTML
 * @param table
 * @param html
 * @return
 */
function setTableInnerHTML(table, html) { 
	if(navigator && navigator.userAgent.match(/msie/i)){ 
	  var temp = table.ownerDocument.createElement('div'); 
	  temp.innerHTML = '<table><tbody>' + html + '</tbody></table>'; 
	  if(table.tBodies.length == 0){ 
	      var tbody=document.createElement("tbody"); 
	     table.appendChild(tbody); 
	  } 
	table.replaceChild(temp.firstChild.firstChild, table.tBodies[0]); 
	} else { 
	 table.innerHTML=html; 
	} 
} 
分享到:
评论

相关推荐

    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;/...

    IE6-IE9不支持table[removed]的解决方法分享

    其中一个常见的问题是这些版本的IE不支持`table.innerHTML`属性,这在试图动态更新表格内容时会造成困扰。`innerHTML`属性允许开发者设置或获取HTML元素内部的HTML内容,但在特定的元素,如`table`、`col`、`...

    ParseTable.rar_Table

    Set table = HTMLDoc.getElementsByTagName("table")(0) For Each row In table.rows For Each cell In row.cells Debug.Print cell.innerText '打印单元格内容 Next cell Next row ``` 压缩包中的"rrr.html"...

    IE bug table元素的innerHTML

    首先时飘忽不定的collapse的border,ie6偏偏...排查了半天,结果是IE的table元素为只读,不能使用innerHTML!!!! 同样为只读的元素还有COL, COLGROUP, FRAMESET, HTML, STYLE, TABLE, TBODY, TFOOT, THEAD, TITLE, T

    JS读取XML文件数据并以table形式显示数据的方法(兼容IE与火狐) .zip

    例如,`textContent`在IE中可能是`innerText`,`getElementsByTagName`在IE9及以下版本可能不支持命名空间。 6. **异步请求** 为了用户体验,通常我们会使用异步请求XML文件。这时,解析和添加数据的操作需要放在`...

    IE6-IE9使用JSON、table[removed]所引发的问题

    本文主要探讨了两个在这些版本中常见的问题:JSON支持和使用`innerHTML`属性更新`table`元素时遇到的挑战,以及相应的解决方案。 首先,关于JSON的问题。在jQuery中使用JSON功能时,IE6-IE9在兼容模式下可能会报...

    html页面表格导出excel(原生js浏览器全兼容)

    或者,对于不支持`download`属性的浏览器,可以使用`window.open`创建新窗口,并将CSV内容写入。 通过以上步骤,我们就可以实现在没有后端接口的情况下,使用原生JavaScript将HTML表格数据导出为Excel文件。提供的`...

    IE 不兼容的几个js问题及解决方法

    在IE中,`innerHTML`属性不能用于动态地设置`&lt;table&gt;`的内容。但可以用于`&lt;div&gt;`或`&lt;span&gt;`等元素。 **解决方法:** 如果需要动态更新表格内容,建议使用上述创建元素的方法,而不是直接修改`innerHTML`。例如,...

    javascript实现动态增加删除表格行(兼容IE FF).docx

    - 对于不支持的方法或属性,提供兼容性代码或者使用库如 jQuery 来简化操作。 ### 4. 示例代码分析 #### 4.1 HTML 结构 - **表单结构**: - 包含一个表格,表格中有用于输入数据的单元格以及用于触发增加和删除...

    IE6/7/8/9中Table/Select的innerHTML不能赋值的解决方法

    innerHTML属性通常用于设置或获取元素的HTML内容,但在某些特定元素上,IE浏览器并不支持直接赋值操作。 在IE6、7、8、9中,以下元素的innerHTML属性是只读的:COL, COLGROUP, FRAMESET, HEAD, HTML, STYLE, TABLE,...

    IE 下的只读 innerHTML

    值得注意的是,如果`&lt;table&gt;`元素没有`&lt;tbody&gt;`子元素,直接在IE6中对`table`使用`appendChild`方法是无效的,因为IE6不支持对`table`元素直接进行`appendChild`操作(IE8及以上版本已修复此问题)。在这种情况下,...

    innerHTML在IE中报错解决方案

    首先,问题的出现是这样的:在使用innerHTML向table或者tr元素动态插入内容时,如果在IE9及以下版本,会遇到“Invalid target element for this operation”(无效的目标元素用于此操作)的错误。例如,尝试通过以下...

    layui table单元格事件修改值的方法

    document.getElementById("id").InnerHTML = "填充代码"; 替换成 $("#id").html("填充代码"); &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;meta charset="utf-8"&gt; &lt;title&gt;layui&lt;/title&gt; ...

    jquery appen table 问题 ie8下解决方法

    - IE8的DOM操作限制:IE8并不完全支持W3C标准,特别是关于动态创建和修改DOM元素的部分。这可能使`append()`在某些场景下表现不一致。 - 表格元素的插入规则:在HTML中,`&lt;tr&gt;`元素必须直接位于`&lt;tbody&gt;`内,而`...

Global site tag (gtag.js) - Google Analytics