jquery if else语句hasClass addClass单击

1 jquery if-statement

我是jQuery的新手,但我对它的力量印象深刻.这是我的问题:

我想要

  • 当我点击它时添加class='dec'#jf1class='undec'
  • 当我点击它时添加class='undec'#jf1class='dec'

这就是我所拥有的 - 它不起作用!

<script>
$(document).ready(function(){
$(function() {

    $('#jf1').click(function() {

        if ('#jf1'.hasClass("undec")) {
            $('#jf1').toggleClass("undec dec");
    }
        else if ('#jf1'.hasClass("dec")) {
            $('#jf1').toggleClass("dec undec";
    }

    });

});
});
</script>
Run Code Online (Sandbox Code Playgroud)

und*_*ned 6

您的代码中存在多个语法错误,您的if语句应为:

if ( $('#jf1').hasClass("undec") ) {
Run Code Online (Sandbox Code Playgroud)

也是$(function(){})简写版$(document).ready(function(){}),你不应该嵌套它们.toggleClass删除并添加类,因此不需要在if此处使用语句.

$(function() {
    $('#jf1').click(function() {
        // `this` refers to the clicked element
        $(this).toggleClass("undec dec");
    });
});
Run Code Online (Sandbox Code Playgroud)