你如何追加一个按钮,然后告诉该按钮删除一个html元素?

时间:2013-08-20 09:59:03

标签: jquery button

我成功创建了一个html链接,点击该链接会显示一条消息和按钮。

然后,当用户点击它时,我希望附加的按钮(和消息)消失。它不起作用,我想知道你是否可以帮助我:

$(document).ready(function() {

    $('#link').click(function() {
        $(this).remove();
            $('.div').append('<h2>Click to remove the button</h2>') .css({'background-color':'#fff'});     
                 $('.div').append('<button>Click me</button>');  
    });

    $('button').click(function() {
        $(this).remove();
    });

});

4 个答案:

答案 0 :(得分:1)

dynamically button bind时,click event创建的.click应该存在。

$(document).on('click','button',function() { $(this).remove(); }); 不适用于动态创建的元素

所以,你必须使用on()之类的,

{{1}}

答案 1 :(得分:0)

.on()文档

$(document).on('click','button',function() {
    $(this).remove();
});

你可以使用

$(buttonId).hide();

hide按钮,当您需要时,可以再次显示$(buttonId).show();

答案 2 :(得分:0)

你所拥有的是什么,你所要做的就是像这样移动处理程序:

$('#link').click(function() {
    $(this).remove();
    $('div').append('<h2>Click to remove the button</h2>') .css({'background-color':'#fff'});     
    $('div').append('<button>Click me</button>');  

    // here you go ...
    $('button').click(function() {
        $(this).remove();
    });
});

这是一个小提示:http://jsfiddle.net/MCTNv/

问题是当您绑定案例中的单击事件$('button').click时,按钮元素尚不存在,只有在您单击#link后才会创建它。

答案 3 :(得分:0)

另一种方法也可行:

$('#link').click(function() {
    $(this).remove();
    $('.div')
        .append('<h2>Click to remove the button</h2>')
        .css({'background-color':'#fff'});
    $('<button />', {
        text : 'Click me',
        click : function(){
            $(this).remove();
        }
    }).appendTo('.div');
});