0

我有一个非常基本的JavaScript代码片段,可以在Internet Explorer中运行,但不适用于Google Chrome。这是它打破的线:Javascript代码片段不能在Chrome中工作,但在Internet Explorer中工作

var formChildren = document.getElementById('myForm').children; 

这是我的脚本的第一行。我收到的错误是:

cannot read property 'children' of null. 

有谁知道我是否错过了一些东西?我无法想象为什么Chrome会在这样的基本路线上出错。

这是MVC 4项目的一部分,如果这有什么不同。

预先感谢您!

+2

做一个'document.getElementById('myForm')'的console.log。它是否打印null? – Kyle

+1

它似乎在Chrome中起作用,至少在一个简化版本中:http://jsfiddle.net/XRFAb/ – FishBasketGordo

回答

0

我的问题解决了。是的,我做了一些额外的测试,并意识到我能够在IE和Chrome上成功使用getElementsByName,所以我看了看,发现忘记了将Id添加到表单中。 IE仍然意外地知道它没有设置id是什么元素,但​​问题解决了。

谢谢凯尔和hackNightly,你的意见帮助我缩小了我的答案。

2

实际上,Chrome在其无法找到具有该ID的元素的情况下返回null。您可以通过使用(document.getElementById('myForm') || {}).children

+0

这不会修复错误 - 它只会隐藏它 – VitaliyG

+0

公平点。更新。 – Hacknightly

相关问题