Javascript代码无法正常工作

时间:2012-09-06 09:56:54

标签: javascript asp.net-mvc-3 internet-explorer firefox

我正在尝试将这2个代码合并为2天,因为一个在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中的任何想法?提前谢谢。

1 个答案:

答案 0 :(得分:2)

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

您应该考虑使用getElementsByTagName()代替childNodes[]