jquery hasClass给出了错误的结果

时间:2015-11-20 16:53:16

标签: javascript php jquery

我试图检查切换元素是否有特定的类,我不知道问题可能来自哪里:

<div class="tog">
   <div id="1" class="toggle toggle-light on"></div>
</div>
<div class="tog">
   <div id="2" class="toggle toggle-light on"></div>
</div>

<script src="https://code.jquery.com/jquery-2.1.3.min.js"></script>

并在js:

$(document).ready(function() {
    $(".myButton" ).on("click",function(){
        $('.tog').each(function(i, obj) {
            var s = "yes";
            if ($(this).children("div").hasClass('toggle-off')) {
                s = "no";
            }

            console.log($(this).children("div").attr('class'));
            console.log(obj.id+s);
        });
    });

结果(在Firebug控制台中):

toggle toggle-light on
1 yes
toggle toggle-light on
2 yes

但如果我现在关闭切换按钮:

  • 在源代码中,该类变得很好&#34;切换&#34; (切换变为灰色):确定
  • 但我总是在&#34;
  • 上切换切换灯

我根本不明白......任何想法?

1 个答案:

答案 0 :(得分:0)

我终于找到了答案:

$(".myButton" ).on("click",function(){
    $('.toggle').each(function(i, obj) {
        console.log($(this).data('toggles').active);
        //will show true or false depending the toggle is active or not
    });
 });