我有一个问题,我的代码在Chrome上可以100%正常运行,它的工作是从表行中获取文本和值,但是一旦进入IE,它就会停止工作,我将其范围缩小到childNodes,这是一个在IE中不起作用的代码的快速示例:

var t = document.getElementById('tableFull');

for (var i = 1, row; row = t.rows[i]; i++) {

   var tee = t.childNodes[3].childNodes[i].rowIndex;
   var subtractCost =t.childNodes[3].childNodes[i].childNodes[1].childNodes[1].innerHTML;
   var subtractName = t.childNodes[3].childNodes[i].childNodes[0].childNodes[0].innerHTML;

}


有谁知道我可以在这里为IE替换childNodes吗?

最佳答案

childNodes的计数有所不同。有些浏览器包含空的textNode,有些则没有。我相信您正在描述这种操作,最好使用父级的getElementsByTagName()方法。这样,您正在寻找的每个孩子的孩子数量和索引将保持一致。

或者您可以尝试使用.children而不是childNodes

希望这会有所帮助

关于javascript - 子节点无法在Internet Explorer中工作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25401378/

10-11 09:01