Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript数组声明(可能错误地使用了长度属性?)_Javascript_Arrays_Undefined_Getelementsbytagname - Fatal编程技术网

Javascript数组声明(可能错误地使用了长度属性?)

Javascript数组声明(可能错误地使用了长度属性?),javascript,arrays,undefined,getelementsbytagname,Javascript,Arrays,Undefined,Getelementsbytagname,我正在尝试获取红色字体标记的innerHTML var fontTags = document.getElementsByTagName('font'); var reds = []; var j = 0; var i = 0; // ETA this line for (i;i<=fontTags.length;i++) { // ETA the 'i<=' if (fontTags[i].getAttribute('color') == 'RED') { reds[j

我正在尝试获取红色字体标记的innerHTML

var fontTags = document.getElementsByTagName('font');
var reds = [];
var j = 0;
var i = 0; // ETA this line
for (i;i<=fontTags.length;i++) { // ETA the 'i<='
  if (fontTags[i].getAttribute('color') == 'RED') {
    reds[j] = fontTags[i].innerHTML;
    j++;
  }
}
var fontTags=document.getElementsByTagName('font');
风险价值=[];
var j=0;
变量i=0;//这条线

for(i;i您的
for
循环缺少正确的循环条件

for (i=0;i<fontTags.length;i++) {
    if (fontTags[i].getAttribute('color') == 'RED') {
        reds[j] = fontTags[i].innerHTML;
        j++;
    }
}

for(i=0;i您的
for
循环缺少正确的循环条件

for (i=0;i<fontTags.length;i++) {
    if (fontTags[i].getAttribute('color') == 'RED') {
        reds[j] = fontTags[i].innerHTML;
        j++;
    }
}
用于(i=0;i
用于(i=0;i
用于(i=0;i使用


对于(i=0;i使用



对于(i=0;iYou正在泄漏一个全局
i
,实际上根本不应该使用
标记。如果
fontTags.length
大于
0
fontTags.length
将始终计算为
true
。因此,在某个时刻
i
将(相等)大于
fontTags.length
。您希望将其与当前计数器进行比较,如
i
。您的条件是否总是正确的?并且
i
将比
nodeList
中的元素数量增长更多,因此
fontTags[i]
将是未定义的。@ThiefMaster:这是一个Greasemonkey脚本;)你正在泄漏一个全局
i
,根本不应该使用
标记。如果
fontTags.length
大于
0
fontTags.length
将始终计算为
true
。因此,在某个时刻
i
将被忽略(等于)大于
fontTags.length
。您希望将其与当前计数器进行比较,如
i
。您的条件不总是正确的吗?并且
i
的增长将超过
节点列表中的元素数,因此
fontTags[i]
将是未定义的。@ThiefMaster:这是一个Greasemonkey脚本;)抱歉。请参阅编辑修复代码。但是我仍然看到相同的错误。这是sirko写的,但您的条件仍然错误。小于;且不小于或等于。是的,因为我从零开始,长度不…duh。谢谢:)抱歉。请参阅“修复代码的编辑”。但是,我仍然看到相同的错误。这是sirko写的,但您的条件仍然错误。小于;且不小于或等于。是的,因为我从零开始,长度不…duh。谢谢:)