JQuery更改类不起作用

时间:2013-09-21 14:28:53

标签: javascript jquery html

我尝试使用JQuery创建“expand-unexpand”函数。当用户单击展开时,将显示div的子项。当用户单击“未扩展”时,div的子项将消失。但它不起作用。

这是我的代码:

$(document).ready(function(){
$('.expand').click(function(){
    var id = $(this).attr('id');

    $(this).html("-");
    $(this).attr("class", "unexpand");

    $.post("classes/ajax_laporan.php",
            {
                id: id
            },
            function(data){
            }
    );
});

$('.unexpand').click(function(){
   $(this).html("+");
   $(this).attr("class", "expand");
});
})

有没有人可以帮我解决这个问题?提前谢谢。

1 个答案:

答案 0 :(得分:4)

我认为您必须使用如下所示的委托,因为加载DOM时,class=unexpand元素不存在。

$(document).ready(function () {

    $(document).on('click', '.expand', function () {
        var id = $(this).attr('id');
        $(this).html("-");
        $(this).attr("class", "unexpand");
    });

    $(document).on('click', '.unexpand', function () {
        $(this).html("+");
        $(this).attr("class", "expand");
    });
});

Fiddle Demo