Javascript 尝试反转条件执行的内容

Javascript 尝试反转条件执行的内容,javascript,conditional,Javascript,Conditional,我提出了一个if条件。 如果var a>6,将执行一个代码。 然而稍后,当用户与页面交互时,var a可能不再大于6。因此,我想收回条件为满足我的特殊需要而执行的操作:删除div 我的代码: if(divNum > 5) { var lastDiv = $("div:nth-last-child(3)"); lastDiv.remove();} 如何反转操作并将该div取回?听起来您想将该元素保存下来以备以后使用 .detach方法与.remove方法相同,不同之处在于.detach保留

我提出了一个if条件。 如果var a>6,将执行一个代码。 然而稍后,当用户与页面交互时,var a可能不再大于6。因此,我想收回条件为满足我的特殊需要而执行的操作:删除div

我的代码:

if(divNum > 5) {
var lastDiv = $("div:nth-last-child(3)");
lastDiv.remove();}

如何反转操作并将该div取回?

听起来您想将该元素保存下来以备以后使用

.detach方法与.remove方法相同,不同之处在于.detach保留与已删除元素关联的所有jQuery数据。当删除的元素稍后要重新插入DOM时,此方法非常有用


一旦它被删除,并且如果您没有保留对已删除内容的引用,那么获取它的唯一方法就是重新创建内容并插入它。你必须知道内容是什么以及插入的确切位置。如果是这样。。我会把移除变成某种隐藏效果。想法是这样的。我要隐藏的这个div是一个小部件。我希望它隐藏,因为屏幕上有太多的小部件。但是当我使用一个按钮退出另一个小部件时,小部件已经不多了,所以我想要它回来。有关于如何操作的提示吗?然后,您可以执行lastDiv.hide和lastDiv.show。因此,首先,这非常有效。但是,它在指定的秒数之后显示div,而不考虑是否有空间放置div。我的意思是。我希望一次只显示5个div或6个div。在这里,它只是在3秒钟后显示,即使有超过我想要的数量
var lastDiv = $("div:nth-last-child(3)");

function checkDivNum(divNum) {
    if (divNum > 5) {
        lastDiv.detach();
    } else {
        lastDiv.appendTo('body');
    }
}

checkDivNum(7);

// Wait 3 seconds... then show again...
setTimeout(function () {
    checkDivNum(4);
}, 3000);