我正在尝试将对象克隆到 JQuery 对话框。
通过使用,我成功地将对象移动到它们的目标区域,append
但这也删除了我的原始对象。这些对象还具有在悬停和单击时设置其样式的功能。该函数使用对象的 id 来设置样式,因此在这种情况下,克隆对象的 id 需要是原始对象的副本。
这样原始对象会被移动,但不会被克隆:
var lv_Parts = document.getElementById("DefaultPart"); // An area where my original 'parts' are
var lv_PartArea = $('<div class="PartWnd"/>'); // The new are for the parts, which is located in a JQuery dialog
lv_PartArea.html(lv_Parts.childNodes); // Adding the childNodes of the original partarea, which are parts
lv_CalcWindow.append(lv_PartArea); // Adding the parts to the new part area in the JQuery dialog
我尝试克隆它们,但没有成功:
var lv_Parts = $('DefaultPart');
var lv_PartArea = $('<div class="PartWnd"/>');
lv_PartArea.append(lv_Parts.children().contents().clone());
lv_CalcWindow.append(lv_PartArea);
我怎样才能做到这一点?
编辑
这些是 setStyle 函数,我还将 lv_obj 更改为类名。它现在使用“Part”类点亮所有对象。
function Part_setStyle(pm_col, pm_id) {
var lv_obj;
if (!pm_id) {
lv_obj = ".Part";
} else {
lv_obj = pm_id;
}
$(lv_obj).css("background-color", pm_col);
}
function Part_onHoverIn(pm_this, pm_event) {
this.setStyle("rgb(135, 206, 250)");
}
function Part_onHoverOut(pm_this, pm_event) {
if (this.Selected == false) {
this.setStyle("rgb(220, 197, 220)");
}
}