加载页面时,添加了addclass的css不起作用

Jen*_*enz 4 css jquery

我有一个带有以下链接的菜单栏.

<div class="menu">
<ul>
  <li><a href="aboutus.php" onclick="changecss(1)">About Us</a></li>
  <li><a href="services.php" onclick="changecss(2)">Services</a></li>
  <li><a href="career.php" onclick="changecss(3)">Career</a></li>
  <li><a href="contactus.php" onclick="changecss(4)">Contact Us</a></li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)

我想在菜单栏中激活当前页面链接.所以我正在使用addclass方法..

$(".menu ul li a").click(function() 
{
  $(".menu ul li a").removeClass('selected');
  $(this).addClass('selected');
});
Run Code Online (Sandbox Code Playgroud)

所有这些代码都位于header.html页面,这是我的头文件.我在其他所有页面中都使用php包含此页面.

问题是,当我点击菜单栏链接时,它addclass正在工作,但是当页面加载(到href页面)时,addclass'scss将无法正常工作.任何人都可以帮助解决问题吗?

Bas*_*ter 5

你使用文件准备方法吗?如果没有,那就有你的问题.执行jQuery代码时,DOM未完全加载.像这样执行你的代码:

$(function(){
    $(".menu ul li a").click(function() { 
        $(".menu ul li a").removeClass('selected'); 
        $(this).addClass('selected'); 
    });
});
Run Code Online (Sandbox Code Playgroud)

...或者...只需在页面底部的脚本标记中执行代码(在关闭正文标记之前).

作为边节点:

$(function() {});
Run Code Online (Sandbox Code Playgroud)

是的缩写

$(document).ready(function(){ ... });
Run Code Online (Sandbox Code Playgroud)