我的 Jeep 有一个基于浏览器的服务手册。在 IE 中效果很好,但在 Firefox 中效果不佳。基本上有一个目录,您可以扩展并深入了解子主题,例如
- [+] 离合器
- [+] 冷却
- [+] 电气
但是Firefox在点击主题旁边的[+]时会抛出以下错误:
TypeError: all[i] is undefined
itcToc.js line 10
if( "UL" == all[ i ].tagName )
这是 itcToc.js 中的代码:
var eCurrentUL, eCurrentLI, eUL, tempIndex, syncIndex = null;
var eTagName, eSrc, eImgIndex, eSynchedNode = null;
var tempImgIndex = '0';
function getNextULNS(eSrc)
{
var all = document.getElementsByTagName("*");
for(var i = tempIndex; i < all.length; i++)
{
if( "UL" == all[ i ].tagName )
{
eImgIndex = all[tempIndex - 2];
return all[ i ];
}
else if( "LI" == all[ i ].tagName )
{
break;
}
}
return false;
}
我是一名机械师,所以尽力排除故障。如果我在第 10 行将 i 替换为一个整数,它将在第 15 行的下一个 if 语句中越过它并出错,该语句具有相似的语法。
这是一个变量范围问题吗?似乎 Firefox 不喜欢 if 语句中的 var i 尽管在 for 语句中定义。