如何使用Jquery单击时删除DIV

时间:2015-05-01 06:40:10

标签: php jquery html

我使用PHP循环使用多个ID填充多个DIV,

 foreach($usernotes_array as $usernote)
     {
        ?>
<div class="todo-tasklist-item todo-tasklist-item-border-red" id="usernotebox<?php echo $usernote['thread_id'];?>">
<p>somenote</p>
<a href="javascript:removeusernote();"><i class="fa fa-trash-o pull-right"></i></a>
</div>
        <?php
        }
     ?>

每个tread_id重复此循环,

现在我添加了一个带JS功能的删除按钮, 此函数将执行AJAX调用以从DB中删除注释,并且还应从HTML中删除DIV,

以下是我要删除注释的JS,

function removeusernote(){

        jQuery.ajax({
                    url: "<?php echo base_url(); ?>index.php/phase/user/deleteusernote/"+<?php echo $userinfo->user_id; ?>,
                    data: {userthread_id:<?php echo $usernote['thread_id'];?>},
                    type: "POST",
                    success:function(data){ 
                                    var objData = jQuery.parseJSON(data);

                                        if(objData.cival == 1)
                                                {

                                                  $("#usernotescounts").text(objData.usernotecounts);   

                                                      }
                                                      else
                                                      {
                                                        ....  
                                                      }
                                              }
                                    });
                    $( "#usernotebox<?php echo $usernote['thread_id'];?>" ).remove();
 }

现在我的问题是,如何获得我点击删除按钮的div的ID? 例如,有3个div,ID为usernotebox1,2,3 现在,当我点击usernotebox1时,我应该删除该ID以及thread_id号码,这样我就可以将其传递给DB以便服务器端删除,

我可以通过将我的JS放在PHP循环中来实现这一点,但我不想为每个div循环JS,

有人可以帮助如何动态删除DIV吗?

谢谢,

3 个答案:

答案 0 :(得分:0)

使用:

$(this).parent().remove();

$(this)将选择当前元素。 .parent()将找到作为div的当前元素的父元素。最后.remove()将删除你的div。

或者你也可以通过类名找到你的div:

$(this).parents().find('.classname').remove();

编辑:使用“removeusernote(this)”

等功能添加此功能
foreach($usernotes_array as $usernote)
     {
        ?>
<div class="todo-tasklist-item todo-tasklist-item-border-red" id="usernotebox<?php echo $usernote['thread_id'];?>">
<p>somenote</p>
<a href="javascript:removeusernote(this);"><i class="fa fa-trash-o pull-right"></i></a>
</div>
        <?php
        }
     ?>

在你的功能中执行此操作:

removeusernote(sender){
$(sender).parent().remove(); //this will remove your div
//after this you can continue with your code

}

答案 1 :(得分:0)

有一个简单的逻辑,您只需将唯一ID传递给锚标记,如:

<a href="javascript:removeusernote(<?php echo $usernote['thread_id'];?>);"><i class="fa fa-trash-o pull-right"></i></a>

并将您的功能更改为:

    function  removeusernote(id){
 $( "#usernotebox"+id).remove();
}

由于

答案 2 :(得分:0)

//This only works for div's with a class
$("[element]").on("click", function() {
  $(this).removeClass("[className]");
});