gpt4 book ai didi

javascript - 火狐 "TypeError: all[i] is undefined"

转载 作者:行者123 更新时间:2023-11-30 05:44:52 25 4
gpt4 key购买 nike

我的吉普车有一个基于浏览器的服务手册。在 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 语句中出错,该语句具有类似的语法。

这是可变范围问题吗?尽管 var i 在 for 语句中定义,但似乎 Firefox 不喜欢 if 语句中的 var i。

最佳答案

如果您希望 all[ i ] 在第一次迭代中工作,您必须将 tempIndex 设置为有效数字而不是 undefined

例如

var tempIndex = 0;

我们和 JS 室的 friend 一起,在 IE 版本 7 到 10 上测试了 [0,1][undefined],它总是给我们 undefined。因此,要么您是在较旧的浏览器上进行测试,要么问题中缺少某些内容。

关于javascript - 火狐 "TypeError: all[i] is undefined",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18576059/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com