Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 动态导航栏jquery addClass()不执行任何操作_Javascript_Php_Jquery - Fatal编程技术网

Javascript 动态导航栏jquery addClass()不执行任何操作

Javascript 动态导航栏jquery addClass()不执行任何操作,javascript,php,jquery,Javascript,Php,Jquery,所以,我真的不知道我做错了什么。我有一个动态主页,它使用switch语句来更改内容 我想做的是,当我在“那个”页面时,让导航栏获得一个class=“active”。我找了很长时间,但就是找不到 My homepage.php: <?php include'inc/header.php'; include'inc/navbar.php'; if (!empty($_GET['page'])) { switch ($_GET['page']) { default; inc

所以,我真的不知道我做错了什么。我有一个动态主页,它使用
switch
语句来更改内容

我想做的是,当我在“那个”页面时,让导航栏获得一个
class=“active”
。我找了很长时间,但就是找不到

My homepage.php:

<?php
include'inc/header.php';
include'inc/navbar.php';

if (!empty($_GET['page'])) {
  switch ($_GET['page']) {
    default;
    include 'inc/pages/homepage.php';
    break;

    case 'inc/pages/homepage.php':
    include 'inc/pages/homepage.php';
    break;

    case 'inc/pages/page2.php':
    include 'inc/pages/page2.php';
    break;
    }
  }else{
    include 'inc/pages/homepage.php';
  }

include 'inc/footer.php';

?>

单击链接时,浏览器将加载一个新页面。因此,您的JavaScript函数已执行,但随后加载了新页面,其中JavaScript函数尚未执行

尝试签入当前页面的
navbar.php
,并使用php相应地添加类

比如说

<nav>
    <a href="/?page=inc/pages/homepage.php" class="<?php if ($_GET['page'] == 'inc/pages/homepage.php') echo " -active"; ?>">Home</a>
    ....
</nav>

....

为什么不直接在PHP中执行此操作?$('nava').addClass(“active”);使用this而不是$(this).addClass(“active”);这并不重要,他在click()函数中,$(这个)将属于他单击的任何元素。抱歉,我没有注意到click事件
   $(document).ready(function(){
        $('nav a').click(function(){
            $('nav a').removeClass("active");
            $(this).addClass("active");
         });
    });
$(document).on("click", 'nav a', function(){
    $('nav a').removeClass("active");
    $(this).addClass("active");
});
<nav>
    <a href="/?page=inc/pages/homepage.php" class="<?php if ($_GET['page'] == 'inc/pages/homepage.php') echo " -active"; ?>">Home</a>
    ....
</nav>