【发布时间】:2021-05-11 09:42:04
【问题描述】:
我有一个带有<a href> 的列表,我正在尝试设置点击颜色。
<a id="mls-category-terms" class="621">Test 1</a>
<a id="mls-category-terms" class="622">Test 2</a>
<a id="mls-category-terms" class="639">Test 3</a>
<a id="mls-category-terms" class="641">Test 4</a>
我通过以下代码实现了这一点:
const homeCategoryList = document.querySelectorAll('#mls-category-terms');
for (let i = 0; i < homeCategoryList.length; i++) {
homeCategoryList[i].addEventListener('click', () => homeCategoryList[i].setAttribute('style', 'background: #3d5b9a;color: #fff;'));
}
这可行,但是这样当我点击另一个链接时,颜色也会显示在该链接上,但它也会保留在上一个链接上。
因此,完美的结果将是当用户点击一个链接时,它会获得不同的颜色,但如果点击该列表中的另一个链接,前一个链接将被重置,最后点击的链接将获得颜色。
这是当前结果的图片:https://prnt.sc/12sr23w
希望这是有道理的。我是 JavaScript 的新手。
【问题讨论】:
-
首先,ID 应该是唯一的。其次,为什么不使用 CSS?
-
是的,如果不需要,是否使用唯一 ID。并使用 CSS!
标签: javascript toggle