我有一个带有以下链接的菜单栏.
<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将无法正常工作.任何人都可以帮助解决问题吗?
你使用文件准备方法吗?如果没有,那就有你的问题.执行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)