我正在尝试将这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中的任何想法?提前谢谢。
答案 0 :(得分:2)
Firefox和Internet Explorer以不同方式处理子节点。 Firefox使用DOM兼容模式并计算标记之间的差距等等。 Internet Explorer只计算其中一些(因此两者之间存在不一致)。
您应该考虑使用getElementsByTagName()
代替childNodes[]
。