我使用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;
}
它运作得很好。但出于某种原因,我想从
更改cssa.active into a:active
但是如何在javascript中更改此部分以适应css?
.addClass('active');
答案 0 :(得分:0)
您无法使用javascript在元素上添加pseudo-class
,就像您无法在内联pseudo-class
属性中添加style=''
一样。
您可以使用javascript更改样式表以添加所需的规则:
document.styleSheets[0].insertRule('a:active { color: red; }'
,0);