动态删除不同div中的元素

时间:2013-01-11 10:22:15

标签: javascript jquery

我有以下代码:

<div id='a'>
</div>
....
....
<div id='b'>
</div>

结合脚本:

$.ajax({
    type:'POST',
    url:'grouplist.php',
    async:false,
    dataType:'json',
    cache:false,
    success:function(result)
    {
        var $ni=$('#a');
        $.each(result,function(key,value)
        {
            var $button=$('<input></input>',{
                'type':'button',
                'id':key,
                'class':'button',
                'value':value
                }).appendTo($ni);
            });
    }});

这会在div中创建具有动态ID的按钮。现在,如果我点击其中一个按钮,我将动态地将元素添加到div中,如下所示:

$('#a').on('click','.button',function(){
    $('.hmm').remove();
    var x=$(this).attr('id');
    $.ajax({
        type:'POST',
        url:'groupmsg.php',
        async:false,
        data:'id='+x,
        dataType:'json',
        cache:false,
        success:function(result)
        {
            var $na=$('#groups');
            $.each(result,function(key,value)
            {
                var t_msg=value[0]+":"+value[1]+"\t"+value[2];
                var $p = $('<p></p>'{'id':'msg'+key,'class':'.hmm'}).html(t_msg).prependTo($na);
            });
            }
            });});

我无法使用div#b删除$('.hmm').remove();的元素。有人可以在这方面帮助我吗?

2 个答案:

答案 0 :(得分:2)

您的代码中存在错误,应该是:

var $p = $('<p></p>',{'id':'msg'+key,'class':'hmm'})

设置课程时不应使用点(。)。

答案 1 :(得分:0)

好像你将click事件附加到带id=a的div并点击另一个元素内创建的按钮。尝试将click事件附加到文档中。

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