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