1

我将我的模板分为三个部分,包括页眉、页脚和内容。主菜单链接在头文件中...所以我想将 CSS 类“活动”应用于选中的超链接...我也编写了 jquery 代码,即:

<script type="text/javascript">

  $('#emp').click(function() {
    $(this).closest('li').addClass('active');
  });

</script>

这段代码的问题是每当我单击链接时,它都会附加 CSS 类,然后将其删除。

4

2 回答 2

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');
于 2013-03-02T09:28:17.897 回答
-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>   
于 2013-03-02T09:30:57.780 回答