indexOf
为什么?我刚刚将它添加到PHP代码并更改了我的文件名(从index.html到homepage.php),并且还将<a href="index.html" >
更改为<a href="?r=site/index">
,然后类active
无法正常工作。
触发此错误的原因是什么?
HTML
<nav class="main-navi">
<ul>
<li>
<a href="index.html" >
Home
<span class="dot"></span>
<span class="corner"></span>
</a>
</li>
<li>
<a href="portfolio.html">
Portfolio
<span class="dot"></span>
<span class="corner"></span>
</a>
</li>
<li>
<a href="about.html">
About
<span class="dot"></span>
<span class="corner"></span>
</a>
</li>
<li>
<a href="service.html">
services
<span class="dot"></span>
<span class="corner"></span>
</a>
</li>
<li>
<a href="blog.html">
Blog
<span class="dot"></span>
<span class="corner"></span>
</a>
</li>
<li>
<a href="contact.html">
contacts
<span class="dot"></span>
<span class="corner"></span>
</a>
</li>
</ul>
<em id="showHideMenu" class="show-hide-menu fa fa-bars" href="#"></em>
</nav>
JS
var loc = window.location.pathname;
$('.main-navi ul li a').each(function () {
var status = loc.indexOf($(this).attr('href')) > -1;
$(this).toggleClass('active', status);
});
答案 0 :(得分:0)
window.location.pathname
仅包含网址的路径部分。使用window.location.href
在完整网址中进行搜索:
var loc = window.location.href;
....
但请注意,如果URL中有更多参数,则此类比较可能会失败。