javascript - 单击时更改列表项中 anchor 的背景颜色

标签 javascript asp.net web-applications

我有由 ul li 构建的菜单,每个菜单中都有 anchor 标记。 CSS应用于 anchor 和 anchor :悬停但是我希望所选项目显示它已被选中,并将背景更改为不同的颜色。 anchor :事件不起作用。

我正在尝试 JavaScript,但尚未成功。这可以单独通过CSS来完成吗?我看过很多例子,但没有一个真正有效。

JavaScript

 <script type="text/javascript">
      function ChangeColor(obj) {
         var li = document.getElementById(obj.id);
         li.style.background = "#bfcbd6";
      }
 </script>

HTML

 <div id="navigation">
      <ul>
          <li><a onclick="changecolor(this);" href="Default.aspx">Home</a></li>
          <li><a onclick="changecolor(this);" href="View.aspx">View</a></li>
          <li><a onclick="changecolor(this);" href="About.aspx">About</a></li>
      </ul>
  </div>

CSS - 简化

#navigation ul {
  list-style-type: none;
}

#navigation li 
{
  float: left;
}

#navigation a
{
  background-color: #465c71;
}

#navigation a:hover
{
  background-color: #bfcbd6;
}

最佳答案

您不需要再次获取 id 来处理元素。 obj 引用实际元素。

 <script type="text/javascript">
      function ChangeColor(obj) {
         obj.style.backgroundColor = "#bfcbd6";
      }
 </script>

编辑:并且javaScript 区分大小写,因此您应该检查函数名称。

Here is a jsFiddle Demo

关于javascript - 单击时更改列表项中 anchor 的背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12940782/

相关文章:

javascript - 阻止从 Open Weather 加载资源

c# - 如何从 youtube 视频中获取 flv 路径?

javascript - ASP.NET 在部分回发后获取隐藏字段的值

java - maven webapp将jsp放在/WEB-INF/jsp

Java Web 应用程序错误 - 无法理解为什么现在会发生

ruby - 在 Ruby Web 应用程序中使用 Proc 或 Lambda 的示例是什么?

javascript - 如何有效地将 Axios 转换为 Fetch?

javascript - Bootstrap Datatables 按部分单元格内容排序

javascript - 具有动态字段的 Angular 响应式(Reactive)表单

html - 如何根据列表中的项目数量在 div 标签内添加新的 html 元素?