【发布时间】:2018-04-05 19:04:16
【问题描述】:
我目前正在尝试从可拖动的 li 内的嵌套 div 中删除一个类。我正在尝试的选项也是从原始 li 中删除该类。有人有什么见解吗?
jQuery
$(function () {
$(".drag li").each(function () {
$(this).draggable({
cursor: "move",
revert: "invalid",
helper: "clone"
});
});
//Droppable function
$(".droppable").droppable({
activeClass: "ui-state-hover",
hoverClass: "ui-state-active",
accept: ":not(.ui-sortable-helper)",
drop: function (event, ui) {
var targetElem = $(this).attr("id");
$(ui.draggable).clone().appendTo(this).addClass("form-btn-wide");
$("#test .elementHidden").removeClass("elementHidden");
}
//Sorting function
}).sortable({
items: "li:not(.placeholder)",
sort: function () {
$(this).removeClass("ui-state-default");
},
over: function () {
removeIntent = false;
}, //Remove function
out: function () {
removeIntent = true;
},
beforeStop: function (event, ui) {
if (removeIntent == true) {
ui.item.remove();
}
}
})
});
你可以看到 $("#test .elementHidden").removeClass("elementHidden");是我尝试过的,但无济于事。
这是我试图从中删除“.elementHidden”类的示例:
<ol id="twocol" class= "drag">
<li id="test" class="btn form-btn draggable"><span><i class="fa fa-fw fa-header"></i> Header</span>
<div class="elementHidden"><input type="button" id="reset" class="btn btn-default" value="Cancel"></div>
</li>
</ol>
【问题讨论】:
-
欢迎来到 Stack Overflow。我认为问题在于,当您运行
.clone()时,它还会克隆所有属性,包括id。因此,您有 2 个具有相同 id 的 ekements,并且选择器可能对此有问题。
标签: jquery jquery-ui draggable