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

时间:2012-04-27 09:29:26

标签: 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] = fontTags[i].innerHTML;
    j++;
  }
}

javascript控制台告诉我“fontTags [i]”未定义。我没有尝试过声明,用'new Array()'声明......同样的事情。帮助

3 个答案:

答案 0 :(得分:4)

您的for循环缺少正确的循环条件。

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

答案 1 :(得分:0)

for (i=0;i<fontTags.length;i++) {

检查for循环条件

答案 2 :(得分:0)

使用


for(i=0;i<fontTags.length;i++)

代替(i = 0; fontTags.length; i ++)