Jquery使用Click删除类

时间:2011-03-02 21:11:45

标签: jquery

我一直在研究这个问题,但似乎无法让它发挥作用。我的问题在于没有删除css类。

jQuery$(document).ready(function(){
    $('#about').click(function(){
        $('#about').addClass('bookOpen').before('<a href="#" class="closeButton">Close</a>');
    });

    $('.closeButton').click(function(){
        $(this).next().removeClass('bookOpen');         
    });
});

4 个答案:

答案 0 :(得分:4)

您需要使用.live而不是.click,因为您正在动态添加DOM元素。

$('.closeButton').live('click', function() {
    $(this).next().removeClass('bookOpen'); 
});

答案 1 :(得分:2)

使用live()

$(document).ready(function() {
    $('#about').click(function() {
        $('#about').addClass('bookOpen').before(
            '<a href="#" class="closeButton">Close</a>');
    });
    $('.closeButton').live('click', function() {
        $(this).next().removeClass('bookOpen');
    });
});

答案 2 :(得分:1)

使用live

jQuery$(document).ready(function(){
    $('#about').click(function(){
        $('#about').addClass('bookOpen').before('<a href="#" class="closeButton">Close</a>');
    });

    $('.closeButton').live('click', function(){
        $(this).next().removeClass('bookOpen');         
    });
});

答案 3 :(得分:0)

当您向DOM动态添加内容时,需要将任何jquery触发器重新添加到新的DOM中。