【问题标题】:how to remove entire div row when remove clicked jquery [duplicate]删除单击的jquery时如何删除整个div行[重复]
【发布时间】:2015-07-23 16:21:07
【问题描述】:

我有一个列表页面,显示从 DB 中获取的消息。

如何在单击红色 X 按钮时删除整个 div,包括该按钮本身并在之后自动调整列表。

我将此作为 col-md-12 与 col-md-4*5*2*1 的孩子一起制作。列。

HTML

<div class="col-md-12" style="background-color:white;padding:15px;">
 <div class="col-md-2">
   <a href="#">
          <img class="media-object" style="" src="<?php echo base_url($message->media->file_name);?>" data-holder-rendered="true" style="width: 80px; height: 80px;float:left:padding:5;">
        </a>
 </div>
    <div class="col-md-2 column_border">


        <div class="full_name" style="float:right;padding:5px;">
         <a href="<?php echo base_url('sell/seller').'/'.$message->profile_id;?>">
          <?php echo $message->full_name;?></a>
         <p class='state' style="font-weight:100;"> <?php echo $message->city.' '.$message->state;?></p>
         <p>
         <i class='messages glyphicon glyphicon-record' style='color:#69DA32;padding-right:2px;'></i>User is online
        </p>
        </div>

    </div>

  <div class="col-md-5">

   <div class="message_content column_border" style="float;left;padding:5px;">
        <span class="subject"> <?php echo $message->subject;?></span>
        <p class='messages'>
          <?php echo $message->message_text;?>
        </p>

        </div>
 </div>
  <div class="col-md-2">
   <div class="date_column" style="float:left;padding:5px;">
        <span class="date"> <?php echo $message->date;?></span>
        <p class='messages'> <?php echo $message->time;?></p>

        </div>
 </div>
 <div class="col-md-1" >
   <div class="message_content" style="float:right;padding:5;">
        <a href="#"><i class='glyphicon glyphicon-remove' style='color:red;padding-right:2px;'></i></a>
        </div>

 </div>

 </div>

谢谢

【问题讨论】:

  • 你能发布你目前拥有的javascript/jquery吗?还是更好的 jsfiddle?
  • 你可以发布你的静态代码吗?

标签: jquery html css twitter-bootstrap


【解决方案1】:

对删除按钮使用点击处理程序。使用.closest() 选择器和.remove() 遍历到具有col-md-12 类的最近行以将其删除:

$('.glyphicon-remove').click(function(){
 $(this).closest('.col-md-12').remove();
});

【讨论】:

    【解决方案2】:

    找到最近的行包装器并将其删除

    $(document).ready(function() {
      $('.remove').click(function() {
        $(this).closest('.wrapper').remove();
      });
    });
    * {
      box-sizing: border-box;
    }
    [class^="col-"] {
      float: left;
      border: 1px solid #ddd;
    }
    .wrapper {
      border: 1px solid #dfd;
    }
    .col-xs-12 {
      width: 100%;
      float: left;
    }
    .col-xs-8 {
      width: 80%;
      float: left;
      height: 40px;
    }
    .col-xs-4 {
      width: 20%;
      float: left;
      height: 40px;
    }
    .remove {
      font-weight: bold;
      font-size: 20px;
      color: red;
    }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <div class="col-xs-12 wrapper">
      <div class="col-xs-8">DIV</div>
      <div class="col-xs-4"><span class="remove">&times;</span>
      </div>
    </div>
    <div class="col-xs-12 wrapper">
      <div class="col-xs-8">DIV</div>
      <div class="col-xs-4"><span class="remove">&times;</span>
      </div>
    </div>
    <div class="col-xs-12 wrapper">
      <div class="col-xs-8">DIV</div>
      <div class="col-xs-4"><span class="remove">&times;</span>
      </div>
    </div>
    <div class="col-xs-12 wrapper">
      <div class="col-xs-8">DIV</div>
      <div class="col-xs-4"><span class="remove">&times;</span>
      </div>
    </div>
    <div class="col-xs-12 wrapper">
      <div class="col-xs-8">DIV</div>
      <div class="col-xs-4"><span class="remove">&times;</span>
      </div>
    </div>

    【讨论】:

      【解决方案3】:
      <a href="#"><i class='glyphicon glyphicon-remove' style='color:red;padding-right:2px;'></i></a>  
      

      改为:

      <a href="" class="remove" data-id="<?=$message->id;?>"><i class='glyphicon glyphicon-remove' style='color:red;padding-right:2px;'></i></a>
      

      然后:

      <script>
      $(function(){
         $('a.remove').on('click', function(e){
            e.preventDefault();
            var $this = $(this);
            var id = $this.data('id');
            $.get('/messages/delete/'+id, {}, function(response){
               $this.parent().parent().parent()
                    .fadeOut(300, function(){$(this).remove();});
            });
         });
      });
      </script>
      

      【讨论】:

      • 谢谢!一个绝妙的答案!
      • 如果你有时间,我有一个头痛的问题。它是关于导航到具有 boostrap 选项卡的页面,当您选择该链接时,除非选项卡在该页面上,否则它不会为您带来选项卡的内容? 0
      • 请创建问题进行讨论。
      【解决方案4】:

      您需要将remove 类添加到锚标记。

      $(document).ready(function(){
      $('a.remove').click(function(){
        $(this).parent().parent().remove();
      })
      })
              <a href="#" class="remove"><i class='glyphicon glyphicon-remove' style='color:red;padding-right:2px;'></i>fgdfgdfgfdg</a>
              

      【讨论】:

        猜你喜欢
        • 2018-07-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-18
        • 2019-08-03
        • 1970-01-01
        • 2013-02-28
        • 1970-01-01
        相关资源
        最近更新 更多