我有一个带<tfoot>的HTML表,我正在尝试动态更新。在Firefox中,此脚本可以正常执行:

 dataTableFooter = document.getElementById('dataTable').getElementsByTagName('tfoot');
 dataTableFooter[0].innerHTML = "This is the footer";


但是,在IE中返回以下错误:

SCRIPT600: Invalid target element for this operation.


在FF中浏览DOM:



在IE中-我们可以看到元素的结构创建方式不同,因此dataTableFooter[0].innerHTML无效:



我无法为表格页脚分配ID,因为它是通过Alloy UI框架生成的,并且始终是随机的,否则这将不是问题-关于如何检索和获取此<tfoot>元素的任何跨浏览器解决方案, innerHTML设置?

更新:这是IE9中的问题,具体而言

最佳答案

我认为您的目标是IE9,因为在IE10 +中这不是问题。

在IE9中,您可以清除棘爪的innerHTML,但是无法设置它。但是,您可以创建一个新元素,并将其作为子元素追加:

var dataTableFooter= document.getElementById('dataTable').getElementsByTagName('tfoot');

var div= document.createElement('td');
div.innerHTML= 'This is the footer';
dataTableFooter[0].innerHTML= '';
dataTableFooter[0].appendChild(div);


Working Fiddle

09-18 06:38