【发布时间】:2020-05-30 17:10:34
【问题描述】:
我正在努力从已选择的链接中删除“活动”类。
查看 JavaScript 中的第 20 行。 classLink.toggle 不应该在 clickedElement 上添加/删除“活动”吗? 我什至尝试了几种方法,例如
if (clickedElement.classList.contains('active')) {
clickedElement.classList.remove('active');
} else {
clickedElement.classList.add('active');
}
但似乎没有一个适用于这个特定的类(适用于我添加的任何其他类)。 我错过了什么?
【问题讨论】:
-
不清楚你在问什么。在选择另一个链接之前,您是否希望您的 JS Fiddle 标题链接为红色?
-
因此,您希望文本
Article 2在单击时变为粗体,而在单击其他内容时变为非粗体 -
您应该将代码范围缩小到最小的可重现状态,以便清楚您想要什么。查看您的 JS Fiddle,您的代码可以正常工作并应用该类。
-
toggle不会“似乎”删除已经粗体元素上的类(=boldness)(如果您重新单击相同的元素),因为您remove都在for loop中上面的行。所以你删除它然后重新应用它..在这里工作。根据您的代码的工作方式,一旦激活一篇文章,您就不能再“停用”所有文章。 -
@Evenclan:我在上面告诉过你为什么它不能那样工作。只需阅读我的评论。将
activeLink.classList.remove('active')更改为if(clickedElement !==activeLink) activeLink.classList.remove('active')即可。 jsfiddle.net/8jrwn3sx
标签: javascript this toggle