如何让<li>在刷新页面后添加css类?</li>

时间:2013-06-25 10:33:19

标签: javascript jquery html css html5

单击li项后

。我将active属性设置为css类,但li有一个转发另一个页面的链接。活跃的css消失了吗?这该怎么做?我已经使用localstorage缓存我选择的旧项目。我找不到任何解决方案。如何在刷新后进行活动类设置?刷新页面后如何设置活动类?

<script type="text/javascript">

$(document).ready(function () {

    $("li").click(function () {
        var id = $(this).attr("id");
        console.log(id);

        var selectedolditem = localStorage.getItem('selectedolditem');
        if (selectedolditem != null) {

            $('#' + selectedolditem).siblings().find("active").removeClass("active");
            $('#' + selectedolditem).addClass("active");
            localStorage.clear();
            return;

        }

        $('#'+id).siblings().find("active").removeClass("active");
        $('#' + id).addClass("active");
        localStorage.setItem("selectedolditem", id);

    });
});

3 个答案:

答案 0 :(得分:9)

您的代码存在的问题是您正在尝试单击它来检索它。这是错误的逻辑。正确的逻辑是:当页面加载时,检索它。单击li时,将其存储。使用find("active")时也遇到问题,您需要使用类字符.,否则它将搜索标记名为active而不是类的元素。

$(document).ready(function () {
    $("li").click(function () {
        var id = $(this).attr("id");

        $('#' + id).siblings().find(".active").removeClass("active");
            //                       ^ you forgot this
        $('#' + id).addClass("active");
        localStorage.setItem("selectedolditem", id);
    });

    var selectedolditem = localStorage.getItem('selectedolditem');

    if (selectedolditem != null) {
        $('#' + selectedolditem).siblings().find(".active").removeClass("active");
        //                                        ^ you forgot this
        $('#' + selectedolditem).addClass("active");
    }
});

答案 1 :(得分:7)

尝试以下操作。

$('li').each(function(){
    if(window.location.href.indexOf($(this).find('a:first').attr('href'))>-1)
    {
    $(this).addClass('active').siblings().removeClass('active');
    }
});

答案 2 :(得分:1)

请尝试以下操作。

$(document).ready(function() {
            $('.active').removeClass('active');
            var currurl = window.location.pathname;
            var val=$('li:has(a[href="'+currurl+'"])').addClass('active');
        });