嗨,试图理解和修复我在运行以下代码完整代码
时遇到的控制台错误for(var i = 0 ; i <= paragraphs.length ; i++){
if( i === 0 ){
continue
}
paragraphs[i].classList.add('hide')
}
错误读取
Cannot read property 'classList' of undefined
我在reddit上找到了这种解释,但我不确定它是如何修复的?
非常感谢
您不在循环中的数组中。
这样做:
for(var i = 0 ; i < paragraphs.length ; i++)
而不是
for(var i = 0 ; i <= paragraphs.length ; i++)
您可以优化循环以直接在第二个项目上开始(" i = 1 ,而不是" i = 0 ")
您的循环超过了您必须解决的段落的数量:
1-段落,lengtth -1
或
2 -i&lt;段落。长度
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')
}