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

Javascript array declaration (possibly mis-using length attribute?)

本文关键字:属性 声明 数组 Javascript      更新时间:2023-09-26

我正在尝试获取红色字体标签的内部 HTML...

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()"声明...同样的事情。帮助?

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

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

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

检查 for 循环条件

使用


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

而不是 (i=0;fontTags.length;i++)