【发布时间】:2017-12-27 23:52:43
【问题描述】:
这是我上一个问题javascript dynamically adding and removing classes的扩展
根据给出的答案,它使用forEach 循环,但我尝试使用for 循环并实现相同:
function test() {
var paragraphs = document.querySelectorAll("#divid p[id ^= 'p']");
for(index =0; index < paragraphs.length; index++) {
paragraphs[index].addEventListener('click', (e) => {
for (i = 0; i < index; i++) {
paragraphs[i].classList.remove('active');
}
for (i = index; i < paragraphs.length; i++) {
paragraphs[i].classList.add('active');
}
});
}
}
但我收到以下错误:
11 Uncaught TypeError: Cannot read property 'classList' of undefined
at HTMLSpanElement.paragraphs.(anonymous function).addEventListener
我还想删除上面代码中的特殊符号=> 并解决问题。
【问题讨论】:
-
“避免 forEach 循环” - 但是……为什么?
-
在测试我的团队时报告说某些浏览器不支持此功能,我不确定是哪个浏览器。
-
是的,IE
-
@user3181365 那些浏览器不支持箭头功能,
classList也不支持。 -
@YuryTarabanko,哦,你能告诉我在这种情况下的替代解决方案是什么。我想在不使用 foreach 的情况下实现相同的输出
标签: javascript