IE9无法正确找到DOM元素

时间:2015-03-23 16:55:29

标签: javascript html

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

enter image description here

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

enter image description here

我无法为我的表格页脚指定一个ID,因为它是通过Alloy UI框架生成的,并且始终是随机的,否则这不会成为问题 - 任何跨浏览器的解决方案如何{可以检索{1}}元素并设置<tfoot>

更新:这是IE9中的一个问题,特别是

1 个答案:

答案 0 :(得分:3)

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

在IE9中,您可以清除tfoot的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