如何在javascript中将名为active的类更改为link的active属性

时间:2015-01-01 08:38:51

标签: javascript css

我使用superfish作为菜单。因为它没有active class来表示当前页面标签。我添加了以下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的类。

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

它运作得很好。但出于某种原因,我想从

更改css
a.active into a:active

但是如何在javascript中更改此部分以适应css?

.addClass('active');

1 个答案:

答案 0 :(得分:0)

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

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

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