php - Jquery 没有为我的导航菜单添加或删除我选择的类

标签 php jquery css html

我用 php 写了我的网站。我有索引文件从页面文件夹动态加载我的页面。我也将导航菜单放在一个单独的文件中。

所以我试图在单击时突出显示文本颜色,因为我无法使窗口定位工作。由于我设置它的方式,窗口位置使用 javascript 或 jquery 返回/index.php。所以我试图通过只定位链接来保持简单。

    <nav>
    <ul>
    <li><a href="index.php?p=home" class="selected">Home</a></li>
    <li><a href="index.php?p=skills">Skills</a></li>
    <li><a href="index.php?p=about">About</a></li>
    <li><a href="index.php?p=contact">Contact</a></li>
    </ul>
    </nav>

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<!--Script to add selected class to highlight active link-->    
<script>
    $(document).ready(function(){
        $("ul li a").click(function(){
        $("ul li a").removeClass('selected');  
        $("ul li a").addClass('selected');
        });
    });
</script>

我的 css 是这样设置的:

a.selected{color:#0066ff;}

我已经尝试将此代码放入我创建的每个 php 文件中。仍然没有任何效果。当我希望在单击链接时弹出一个带有消息的警告框时,效果很好。为什么这不起作用?当我运行代码时没有任何变化...有什么建议吗?

最佳答案

如果您通过单击每个链接重新加载页面,然后尝试

<nav>
<ul>
<li><a href="index.php?p=home" <?php (empty($_GET['p']) || $_GET['p'] == 'home') ? echo 'class="selected"' : ''?> >Home</a></li>
<li><a href="index.php?p=skills" <?php $_GET['p'] == 'skills' ? echo 'class="selected"' : ''?>>Skills</a></li>
<li><a href="index.php?p=about" <?php $_GET['p'] == 'about' ? echo 'class="selected"' : ''?>>About</a></li>
<li><a href="index.php?p=contact" <?php $_GET['p'] == 'contact' ? echo 'class="selected"' : ''?> >Contact</a></li>
</ul>
</nav>

尽管您不需要 jQuery 函数。
如果你不想重新加载页面,那么在你的 jQuery 中试试这个:

$(document).ready(function(){
    $("ul li a").click(function(){
       $("ul li a").removeClass('selected');  
       $(this).addClass('selected');
       return false;
    });
});

关于php - Jquery 没有为我的导航菜单添加或删除我选择的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22266138/

相关文章:

php - 使用 php 和 SQL 获取总和是日期相同

javascript - 如何使用 jquery 动态添加 html 元素?

javascript - 根据分隔符从字符串中提取子字符串

html - 如何从图标高度中心垂直居中对齐文本

html - 如何使背景图像大小高度始终等于全宽图像所需的图像高度?

javascript - 无法使用js检索样式

php - 语法错误,意外的 T_VARIABLE

php - Laravel PHPUnit 测试抛出禁止的错误

php - 将最后添加的条目从一个表插入到另一个表中

php - jQuery load() 在不同选项卡上时