如何将 class 命名为 active 更改为 javascript 中链接的 active 属性

How to change class named active into link's active attribute in javascript

我正在为 menu.Since 使用 superfish,它没有 active class 来表示当前页面 tab.I 添加了以下 javascript.

<script type="text/javascript">
var path = window.location.pathname.split('/');
path = path[path.length-1];
if (path !== undefined) {
  $("ul.sf-menu")
    .find("a[href$='" + path + "']") // gets all links that match the href
    .parents('li')  // gets all list items that are ancestors of the link
    .children('a')  // walks down one level from all selected li's
    .addClass('active');
}
</script>

我还根据脚本要求在 css 中添加了一个名为 active 的 class。

.sf-menu a.active{
   margin-top:-5px;
   height: 51px; 
   padding-top: 15px;
   z-index: 100;
   background-color:#072438;
 }

它只工作 fine.However 出于某种原因我想将 css 从

更改
a.active into a:active

但是我该如何更改 javascript 中的这一部分以适应 css?

.addClass('active');

您不能使用 javascript 在元素上添加 pseudo-class,就像您不能在内联 style='' 属性中添加 pseudo-class 一样.

您可以使用 javascript 更改您的样式表以添加您想要的规则:

document.styleSheets[0].insertRule('a:active { color: red; }', 0);