2016-12-31 51 views
1

我想删除拖动的元素,但只有当它没有“nodrop”类时才会被删除。如何删除拖动的元素,只有当它有一个特定的类?

这里是我当前的代码它消除wheter我包括IF函数的所有元素:

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

我没有任何计划,我做了什么错?

+0

带班尝试没有 “变音” – ppasler

+0

还是你想是这样的:http://www.w3schools.com/jquery/sel_not.asp – ppasler

+1

@ppasler为什么?这将如何帮助? – Pointy

回答

-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> 
+0

不,即使我将“element.remove()”与“ui.draggable.remove()”保留空间不起作用。 “ – Jolp

+0

@Jolp对不起,我弄错你了,我希望我这次能理解你:) – ppasler

+0

谢谢,我会在明年试一试:D – Jolp

相关问题