我正在尝试删除一个对象并将其存储(以防用户以后想要检索它)。我已经尝试将对象存储在一个变量中,如下面的主题所示:
但是detach()
不会从DOM中删除该元素或将其存储。我也没有收到任何错误消息。这是我用来分离元素的代码:
function MMtoggle(IDnum) {
var rowID = "row" + IDnum;
var jRow = '#' + rowID;
thisMMbtn = $(jRow).find(".addMMbtn");
var light = false;
var that = this;
if (light == false) {
thisMMbtn.bind("click",
function() {
var thisRow = $(this).closest(".txtContentRow");
var thisTxt = thisRow.find(".txtContent");
var cellStr = '<div class = "mmCell prep"></div>';
$(cellStr).appendTo(thisTxt);
$(this).unbind("click");
light = true;
}
);
}
else {
thisMMbtn.bind("click",
function() {
var thisRow = $(this).closest(".txtContentRow");
thisMM = thisRow.find(".mmCell");
SC[rowID].rcbin = thisMM.detach(); //here is where I detach the div and store it in an object
$(this).unbind("click");
light = false;
}
);
}
}
MMtoggle(g.num);
问题的一个小问题是:http://jsfiddle.net/pScJc/
(分离的按钮是右边的“+”按钮。它应该添加一个div,然后再次单击时将其分离。)
答案 0 :(得分:0)
查看您的代码我不认为您需要detach
来实现您的目标。
请尝试使用此代码。
thisMMbtn.bind("click",
function() {
var thisRow = $(this).closest(".txtContentRow");
var thisTxt = thisRow.find(".txtContent");
var $mmCell = thisTxt.find('.mmCell');
if($mmCell.length == 0){
$mmCell = $('<div class = "mmCell prep"></div>')
.appendTo(thisTxt).hide();
}
$mmCell.toggle();
//$(this).unbind("click");
}
);
<强> Demo 强>