JavaScript函数在某个if语句后停止
我最近尝试重新使用一个(正在工作!)javascript函数,并检测到一个奇怪的行为:在for循环中的某个if语句之后,函数停止。我看不出有什么理由 如果将实际If条件更改为“1==1”,则一切正常。但是由于代码如上所述,我得到了第一个警报(“我们开始了”),但我从未得到第二个警报。因此,这个问题不能与循环联系在一起(是无止境的或类似的)。但除此之外,我完全感到困惑和无助。(使用Firefox 26和Internet Explorer 11进行测试)JavaScript函数在某个if语句后停止,javascript,if-statement,for-loop,Javascript,If Statement,For Loop,我最近尝试重新使用一个(正在工作!)javascript函数,并检测到一个奇怪的行为:在for循环中的某个if语句之后,函数停止。我看不出有什么理由 如果将实际If条件更改为“1==1”,则一切正常。但是由于代码如上所述,我得到了第一个警报(“我们开始了”),但我从未得到第二个警报。因此,这个问题不能与循环联系在一起(是无止境的或类似的)。但除此之外,我完全感到困惑和无助。(使用Firefox 26和Internet Explorer 11进行测试) 函数我的函数(div的个数) { 对于(v
函数我的函数(div的个数)
{
对于(var k=0;k问题是您只有一个具有特定名称的元素,数组索引从零开始,所以您在小于条件时停止
for (var k = 0; k < number_of_divs; k++)
问题是您只有一个具有特定名称的元素,数组索引从零开始,所以在小于条件时停止
for (var k = 0; k < number_of_divs; k++)
这是因为这条线
k <= number_of_divs
k就是因为这条线
k <= number_of_divs
k错误控制台会告诉您问题所在:
Uncaught TypeError: Cannot read property 'style' of undefined
您需要在if
语句中执行边界检查:
var index = k,
levels = document.getElementsByName("text_levels"),
levelLength = levels.length;
if(index < levels.length && levels[index].style.display == 'block')
{
alert('Here we go');
}
var指数=k,
级别=document.getElementsByName(“文本级别”),
levelLength=levels.length;
如果(索引
错误控制台会告诉您问题所在:
Uncaught TypeError: Cannot read property 'style' of undefined
您需要在if
语句中执行边界检查:
var index = k,
levels = document.getElementsByName("text_levels"),
levelLength = levels.length;
if(index < levels.length && levels[index].style.display == 'block')
{
alert('Here we go');
}
var指数=k,
级别=document.getElementsByName(“文本级别”),
levelLength=levels.length;
如果(索引
这不应该是“==”?您是否尝试过使用诸如firebug之类的调试器进行调试?这不应该是“==”?您是否尝试过使用诸如firebug之类的调试器进行调试?