我有一个成功删除元素并将其附加到页面其他位置的功能。问题是,一旦文档准备好,jQuery 就会向在移动时丢失的子项添加类和属性。我需要这些类和属性在删除和附加后保留。我曾考虑调用添加类的原始函数,但问题是它们是基于键的,并且依赖于它们在移动之前的位置,在更改键后调用它,因此将添加全新的和不同的类。
添加 jQuery 的类非常标准:
$(function(){
$("div").each(function(key){
if ($(this).hasClass("container")){
$(this).find("ul").addClass("parent" + key);
$(this).find(".container-item").attr("parentClass", ".parent" + key);
};
});
});
删除/追加功能:
function copy_item(draggable, target){
var account = clone_items(draggable);
//$('#'+name.uid).remove();
$('#'+name.uid).hide();
target.append(make_div(name, true, true));
//$(draggable).children().attr("class", ($(draggable).children().attr("class")));
}
function make_div(name, drag, drop){
var newdiv = document.createElement('div');
newdiv.setAttribute('id', name.uid);
newdiv.appendChild(make_h3(name.username));
ul = document.createElement('ul');
ul.setAttribute("class", "domain_list");
newdiv.appendChild(ul);
for (j = 0; j < name.domains.length; ++j) {
ul.appendChild(make_li(name.domains[j], drag));
}
return newdiv;
}
HTML 中的最终结果基本上是:
<div class="container">
<ul class="parent0">
<li parentClass="parent0">
<li parentClass="parent0">
重新创建此结构时,我需要保持类“parent0”和 parentClass 属性不变。在上面你可以看到我已经尝试隐藏元素,确保它仍然是具有正确类/属性的有效元素,但最终仍然没有成功。理想情况下,我可以完全删除元素并使用正确的类重新创建它。