将div替换为另一个时出错

时间:2013-04-09 19:39:38

标签: jquery

我正在尝试实施取消功能,以便在用户进行编辑并点击“取消”按钮时,该页面将恢复为原始文本。

现在,我有以下javascript:

(function($) {
   originalStepOrder = $('#org');
});

$(document).ready(function(){
$('.reorderCancel').click(function(){
    $('#org').replaceWith(originalStepOrder);
    console.log($('#org')==originalStepOrder);
});
}

但是,当我点击reorderCancel按钮时,它在控制台中变为“false”,而我的“org”div不会被其原始内容替换。我怎样才能解决这个问题?

1 个答案:

答案 0 :(得分:1)

该变量赋值只是将变量指向对象。当对象发生变化时,变量的值随之变化。你需要制作一份实际的副本。您可以使用.clone()执行此操作:

originalStepOrder = $('#org').clone();

对于jQuery对象的相等测试,您应该使用.is()

$('#org').is(originalStepOrder);