javascript - 使用 Javascript 更改点击时的列表项颜色

标签 javascript

由于我是 Java 脚本新手,我需要知道如何使用 Java 脚本更改列表项颜色或样式?

例如,我的 HTML 文件中有以下无序列表:

<ul id="list">
   <li>Text1</li>
   <li>Text2</li>
   <li>Text3</li>
   <li>Text4</li>
</ul>

现在,当我单击项目时,它应该更改颜色,当单击下一个项目时,它将保留前一个项目的新颜色,并更改新单击项目的颜色(下面的示例屏幕截图):

Screenshot

最佳答案

尝试以下解决方案。这也会切换点击。

var ul = document.getElementById("list");

var listItems = ul.getElementsByTagName("li");

for(li of  listItems){
  li.addEventListener('click', function(){
    if(this.classList.contains('active')){
      this.classList.remove("active");
    } else {
      this.classList.add("active");
    }
  })
}
.active{
  color: red;
}
<ul id="list">
   <li>Text1</li>
   <li>Text2</li>
   <li>Text3</li>
   <li>Text4</li>
</ul>

关于javascript - 使用 Javascript 更改点击时的列表项颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45731141/

相关文章:

javascript - 如何在 ExtJs 中将标题项右对齐

javascript - cy.readFile 和 cy.fixture 之间有什么区别?

javascript - 如何在ckeditor中设置默认字体名称preety

javascript - 用javascript增加类

JavaScript 删除语句

javascript - 在 jQuery/Javascript 中生成复杂的 HTML 元素

javascript - 如何在 jquery ajax 中处理 List<object>?

javascript - 如何使用 jquery.html 在 div 中插入 html 代码

javascript - 错误 :TypeError: Cannot find function getValue in object function mergeAcross

javascript - 如何在多个项目中组织 TypeScript 接口(interface)