我觉得自己是个白痴,因为今天早些时候我问了一个非常相似的问题,但是既然我已经再次应用它,那么我也遇到了一个类似的问题。
我正在使用PHP使用博客模板从数据库加载页面元素。这是一个.active
基于我的PHP的内置菜单和样式:
<div role="navigation" id="menu">
<div class="page-menu">
<ul>
<li class="list-item"><a href="/anchor/posts" title="Posts">Posts</a></li>
<li class="list-item"><a href="/anchor/demo-page-3" title="Demo Page 3">Demo Page 3</a></li>
<li class="list-item"><a href="/anchor/demo-page-4" title="Demo Page 4">Demo Page 4</a></li>
<li class="list-item"><a href="/anchor/demo" title="demo page">demo</a></li>
</ul>
</div>
<style>
.active {background-color: #0d597e; }
</style>
这是我的脚本:
$(document).ready(function(){
var current = location.pathname;
$('.page-menu li a').each(function(){
var $this = $(this);
if($(this).attr('href').indexOf(current) !== -1){
$this.addClass('active');
}
})
})
现在,我知道它起作用了,因为“帖子”添加了活动类,其他页面在单击时都没有作用。
我也进行了测试,alert(location.pathname)
所有这些都恢复了正确。我要去哪里错了?我正在拔头发,试图进行整理。
您未在帖子页面上看到的视频的演示页面3和演示页面4的控制台中有错误。'未捕获的类型错误-无法读取未定义的'replace'的属性。此JS错误将阻止其他JS的运行,并且不会调用您的菜单函数。解决此错误,您的菜单将起作用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句