如何删除拖动元素只有它具有某个类?

时间:2016-12-31 15:47:33

标签: javascript jquery html

我想删除一个拖动的元素,但只有当它没有类" nodrop"时才能将其删除。

这是我当前的代码,它删除了包含if函数的所有元素:

    $(".löschen").droppable({
    drop: function(event, ui) {
    if (!$(this).hasClass("nodrop")){
    ui.draggable.remove();
    findTotal();
    }
    }});

我没有任何计划我做错了......

1 个答案:

答案 0 :(得分:-1)

使用.löschen获取当前的放置容器($(this))。使用$(ui.draggable),您可以使用类nodrop获取已删除的元素。

$(".draggable").draggable();

$(".löschen").droppable({
  drop: function(event, ui) {
    var $dropContainer = $(this);
    var $dragContainer = $(ui.draggable)
    console.log($dropContainer, $dragContainer);
    if (!$dragContainer.hasClass("nodrop")){
      $dragContainer.remove();
    }
}});
.draggable {
  width: 100px;
  height: 100px;
}

.drop {
  background-color: green;
}

.nodrop {
  background-color: red;
}

.löschen {
  width: 200px;
  height: 200px;
  background-color: #ccc;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>


<div class="draggable nodrop">NO DROP</div>
<div class="draggable drop">DROP</div>

<div class="löschen">TRASH</div>