我有一个带<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