将classList.add添加到数组时出现Javascript控制台错误

将classList.add添加到数组时出现Javascript控制台错误,javascript,error-code,Javascript,Error Code,大家好,我正在尝试理解并修复运行以下代码时遇到的控制台错误 我在reddit上找到了解释,但我不确定它是如何修复的 非常感谢您提前您的循环超出了您的段落数要解决此问题,您必须: 1-段落长度-1 或 2-i

大家好,我正在尝试理解并修复运行以下代码时遇到的控制台错误

我在reddit上找到了解释,但我不确定它是如何修复的


非常感谢您提前

您的循环超出了您的段落数要解决此问题,您必须:

1-段落长度-1

2-i<段落长度

var paragraphs = document.getElementsByTagName('p'),
    firstParagraph = paragraphs[0],
    link = document.createElement('a');
    link.innerHTML = 'Show more';
    link.setAttribute('class' , 'link');
    link.setAttribute('href' , '#');
    firstParagraph.appendChild(link);
        for(var i = 0 ; i <= paragraphs.length-1 ; i++){
          if( i === 0 ){
            continue
          }
          console.log("hellp",paragraphs[i]);
          paragraphs[i].classList.add('hide')
        }
var段落=document.getElementsByTagName('p'),
第一段=第[0]段,
link=document.createElement('a');
link.innerHTML='显示更多';
setAttribute('class','link');
link.setAttribute('href','#');
第一段.附加儿童(链接);

对于(var i=0;i您的循环超出了要解决它的段落数,您必须:

1-段落长度-1

2-i<段落长度

var paragraphs = document.getElementsByTagName('p'),
    firstParagraph = paragraphs[0],
    link = document.createElement('a');
    link.innerHTML = 'Show more';
    link.setAttribute('class' , 'link');
    link.setAttribute('href' , '#');
    firstParagraph.appendChild(link);
        for(var i = 0 ; i <= paragraphs.length-1 ; i++){
          if( i === 0 ){
            continue
          }
          console.log("hellp",paragraphs[i]);
          paragraphs[i].classList.add('hide')
        }
var段落=document.getElementsByTagName('p'),
第一段=第[0]段,
link=document.createElement('a');
link.innerHTML='显示更多';
setAttribute('class','link');
link.setAttribute('href','#');
第一段.附加儿童(链接);

对于(var i=0;i,您在循环中的数组之外

这样做:

for(var i = 0 ; i < paragraphs.length ; i++)
for(变量i=0;i
而不是

for(var i = 0 ; i <= paragraphs.length ; i++)

for(var i=0;i您在循环中的数组之外

这样做:

for(var i = 0 ; i < paragraphs.length ; i++)
for(变量i=0;i
而不是

for(var i = 0 ; i <= paragraphs.length ; i++)

for(var i=0;i)您可以通过从
1
开始保存if子句。在JavaScript中,数组(和类似数组的对象)是零索引的:数组的第一个元素位于索引0处,最后一个元素位于等于数组长度属性值减去1的索引处。()可以通过从
1
开始保存if子句。在JavaScript中,数组(和类似数组的对象)的索引为零:数组的第一个元素位于索引0处,最后一个元素位于等于数组长度属性值减去1的索引处。()