没有您正在运行的代码,这有点困难。但是有一个用于调试的命令。首先,您需要确定哪个变量可能不包含对象[即“对象为空或未定义”]。例如,父母,那么你可以使用
//next look to see if parent is something
if('undefined'==(typeof parent)) alert("variable empty:parent");
一旦你发现你期望成为一个对象的空的东西,你就可以从那里追溯。还可以使用浏览器调试工具,来识别错误的行号。
通常,如果使用子节点,您可能没有正确的级别,或者您需要作为数组访问,即您需要类似的东西。
parent.childNodes[0].childNodes[0].value
在 IE 中,您还要处理不受支持的功能。所以 getElementById 会起作用,但其他一些类似的不会。再次 typeof 可能很有用。
//next ensure function supported
if( 'undefined'==(typeof document.getElementsByClassName) ){
alert("Not Supported"); // notice ^ no () required here
//...add code to handle differently when not supported
}
这可能会揭示您是否可以使用某个功能