我在header.php中创建了一个菜单,它将包含在每个文件中,如index.php或contact-us.php。共享标题菜单上的AddClass('selected')
我现在唯一的问题是将选中的添加到菜单中所选的主类别。 下面的代码基本上工作,直到加载选定的页面,之后,选定的属性被删除。
你能帮我解决这个问题吗?
HTML
<nav id="navigation">
<ul id="navtop">
<li class=" first has_navchild" id="Home">
<a href="index.php">Home</a>
<ul class="submenu">
<li class=" first has_navchild">
<a href="index.php">Home</a>
</li>
<li class=" last">
<a href="who-we-are.php">Who we are</a>
</li>
</ul>
</li>
<li class=" has_navchild" id="Contacts">
<a href="contacts.php">Contacts</a>
<ul class="submenu">
<li class=" first has_navchild">
<a href="where.php">Where we are</a>
</li>
<li class=" last">
<a href="form.php">Contact form</a>
</li>
</ul>
</li>
</ul>
jQuery的
$(document).ready(function() {
$('#navigation ul li').click(function(event){
event.preventDefault();
if(($(this).attr("id") === "Home"))
{
alert($(this).attr('id'));
$("#navigation ul li#Contacts").removeClass("selected");
$("#navigation ul li#Home").addClass("selected");
}
else if($(this).attr("id") === "Contacts")
{
alert($(this).attr('id'));
$("#navigation ul li#Home").removeClass("selected");
$("#navigation ul li#Contacts").addClass("selected");
}
});
});
感谢您的帮助
当您加载新页面时,没有发生点击事件,因此没有选择元素。 – Abhishek
由于重新加载菜单,加载页面时将删除所选属性。除非您可以将选定的选项以某种方式存储在服务器上并在加载标题时检索它,否则没有办法解决此问题。 – Nunners
让您的服务器端脚本在页面加载时添加正确的类。 – PeeHaa