Jquery hasClass()函数无法正常工作

时间:2016-01-05 13:35:31

标签: javascript jquery

我有这个简单的jquery脚本,由于某种原因无法正常工作。当我单击触发器时,它会更改css类并且不会出现任何错误吗?

$(document).on('click', '.cours-box .panel-footer', function () {
       var _CoursBox = $(this).closest('.cours-box');                     
       if(_CoursBox.hasClass("active")) {
            _CoursBox.removeClass('panel-primary active').addClass('panel-default');
       } else {
            _CoursBox.removeClass('panel-default').addClass('panel-primary active');
       }
   });

这是HTML:

<div class="panel cours-box panel-primary active">
    <div class="panel-body">
        <div class="row">
            <div class="col-md-6">
                <h4>Titel<small>1302</small></h4>

            </div>
            <div class="col-md-6">


            </div>
        </div>
    </div>
    <label class="panel-footer" for="r1302">
        <div class="row">
            <div class="col-md-6">
                <input class="hidden" id="r1302" type="checkbox" name="course_[]" value="1302"> Jan| Day:1</div>
            <div class="col-md-6"> </div>
        </div>
    </label>
</div>

1 个答案:

答案 0 :(得分:0)

我只是以更方便的方式重写了脚本! 我还是想知道为什么它不起作用?

 $(document).on('click', '.cours-box input[type="checkbox"]', function () {
        var _CoursBox = $(this).closest('.cours-box');  
        if (!$(this).is(':checked')) {
            _CoursBox.removeClass('panel-primary active').addClass('panel-default');
       } else {
            _CoursBox.removeClass('panel-default').addClass('panel-primary active');
       }
   });