JavaScript 代码无法正常工作

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

我花了 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^undefine%undefine^undefine 而不是 MyText^.....

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

最佳答案

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

您应该考虑使用 getElementsByTagName() 而不是 childNodes[]

关于JavaScript 代码无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12297473/

相关文章:

javascript - Web 应用程序 - 拍摄照片?

javascript - 从数组中的多个中查找百分比并偶然返回整个对象

asp.net-mvc-3 - 如何在 Entity Framework 中更新实体的导航属性

javascript - 出现非常奇怪的 javascript 错误,并且此页面也拒绝在 Internet Explorer 7 或 8 中工作

css - 在 IE 中,我的下拉菜单实际上是正确的。我怎样才能解决这个问题?

javascript - 这段代码中发生了什么,以及在没有 "with"关键字的情况下以下代码的基本实现是什么

javascript - 如何从 Angular Directive(指令)调用 Controller 函数

asp.net-mvc - 如何将 CSS 类名添加到 ASP.NET MVC 3 Url.Action 链接?

c# - 是否应该在每个使用 MVC 的 View 中使用 ViewModel?

JQuery 可拖动事件在 IE9 中不起作用