indexOf函数符合php

时间:2016-02-27 05:11:20

标签: javascript jquery

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);
});

1 个答案:

答案 0 :(得分:0)

window.location.pathname仅包含网址的路径部分。使用window.location.href在完整网址中进行搜索:

var loc = window.location.href;
....

但请注意,如果URL中有更多参数,则此类比较可能会失败。