我将模板分为三个部分,包括页眉,页脚和内容。 主菜单链接在头文件中...所以我想将CSS类'active'应用于选中的超链接...我也编写了jquery代码,它是:
<script type="text/javascript">
$('#emp').click(function() {
$(this).closest('li').addClass('active');
});
</script>
这段代码的问题是每当我点击链接时,它会附加CSS类然后将其删除。
答案 0 :(得分:0)
每当我点击链接时,它都会附加css类,然后将其删除......
addClass
不删除该类,似乎您的网页已重新加载。阻止事件的默认操作:
$('#emp').click(function(eventObject) {
eventObject.preventDefault();
$(this).closest('li').addClass('active');
});
更新
当您点击<a>
元素时,页面会被重定向,并且您添加的类将被删除,如果您想使用JavaScript添加类,您可以编写代码:
// relative
var path = document.location.pathname;
// absolute
var path = document.location.href;
$('#myMenu a').filter(function(){
return this.href === path;
}).closest('li').addClass('active');
// Or:
$('#myMenu li').has('a[href='+path+']').addClass('active');
答案 1 :(得分:-1)
我使用此方法解决此类问题
<?php $self= $_SERVER['PHP_SELF']; ?>
<ul class="dropdown dropdown-horizontal">
<li <?php
if (eregi("index", $self))
echo "class=\"selected\"";
?>><a href="index" >HOME</a>
</li>
<li><img style="height:28px" src="images/newsletter-divider.gif" alt="Divider"/></li>
<li
<?php
if (eregi("logout", $self))
echo "class=\"selected\"";
?>
><a href="logout">Logout</a>
</li>
</ul>