刷新后如何保存按钮状态(更改类名称)?

时间:2019-04-01 17:22:50

标签: jquery

我想在单击后保存按钮状态(更改类名称),经过几个小时的搜索,我发现了两个代码,但是它们均无法正常工作,刷新后设置了默认类,有人可以告诉他们这是什么问题?

<script>
    var retrievedObject = localStorage.getItem('classChange');
    if (retrievedObject) {
        $('#tick').addClass(retrievedObject)
    }  
    $("#tick").click(function () {
        if ($(this).hasClass("btn btn-light")) {
            $(this).removeClass('btn btn-light').addClass('.btn btn-success');
            localStorage.setItem('class', '.btn btn-success');
            return false;
        } else {
            $('.btn btn-success').removeClass('.btn btn-success').addClass('btn btn-light');
            localStorage.setItem('classChange', 'btn btn-light');    
            return false;
        }
    });
</script>

<script type="text/javascript">
    $(document).ready(function () {
        if (localStorage.getItem('classChange'))
            $(this).toggleClass('.btn btn-success');

        $('#tick').on('click', function () {          
            $(this).toggleClass('.btn btn-success');
            localStorage.setItem('classChange', true);           
            return false;
        });


    });
</script>

1 个答案:

答案 0 :(得分:0)

基本上不要将句点存储在本地存储值中,请确保名称一致,并且无需在班级中存储“ btn”

<script>
    var retrievedObject = localStorage.getItem('classChange');
    if (retrievedObject) {
        $('#tick').addClass(retrievedObject)
    }  
    $("#tick").click(function () {
        if ($(this).hasClass("btn-light")) {
            $(this).removeClass('btn-light').addClass('btn-success');
            localStorage.setItem('classChange', 'btn-success');                
        } else {
            $(this).removeClass('btn-success').addClass('btn-light');
            localStorage.setItem('classChange', 'btn-light');                
        }
    });
</script>