0

我正在尝试 2 天将这 2 个代码合并为 1 ,因为一个在 IE 中完美运行,另一个在 FF 和 Chrome 中完美运行。那么我怎样才能将它们合并为1?这是在 IE 中工作的代码,但在 FF 中没有:

……

      if (i < rowCount - 1) {
            detRez += dataTable.rows[i].cells[1].firstChild.value + "^";
            detRez += dataTable.rows[i].cells[2].firstChild.value + "%";
            //This working with FF
            //detRez += dataTable.rows[i].cells[1].childNodes[1].value + "^";
            //detRez += dataTable.rows[i].cells[2].childNodes[1].value + "%";
        }
        else {
            detRez += dataTable.rows[i].cells[1].firstChild.value + "^";
            detRez += dataTable.rows[i].cells[2].firstChild.value;
                //This working with FF
                //detRez += dataTable.rows[i].cells[1].childNodes[1].value + "^";
                //detRez += dataTable.rows[i].cells[2].childNodes[1].value;

            }
            }
.....

在 FF 中有效但在 IE 中无效的那个在该行前面有 //

我在 FF 中没有错误(如果我测试 IE 代码),只是字符串没有正确构建并且看起来像这样: undefined^undefined%undefined^undefined 而不是 MyText^.....

任何想法如何合并这两个代码以在 IE 和 FF 中工作?提前致谢。

4

1 回答 1

2

Firefox 和 Internet Explorer 处理子节点的方式不同。Firefox 使用 DOM 兼容模式并计算标签之间的间隙等。Internet Explorer 只计算其中一些(因此两者之间存在不一致)。

You should consider using getElementsByTagName() instead of childNodes[].

于 2012-09-06T10:14:17.857 回答