2012-12-24 96 views
2

我正在使用jQuery將HTML元素替換爲另一個元素。它第一次效果很好,但不是第二次。我不知道爲什麼它第二次不起作用。jQuery - 使用replaceWith兩次不起作用

任何任何想法?

這裏的問題的一個例子: http://jsfiddle.net/jfYLG/


從的jsfiddle例子的代碼:

<div class="blaat"> 
    <div>woot</div> 
</div> 

<button class="work" type="button">Work</button> 

$(function() { 
    $clone = $('.blaat').clone().addClass('test'); 

    $('.work').click(function() { 
     $('.blaat').replaceWith($clone); 
    }); 
}); 
+0

嘗試:'$克隆= $( 'blaat。')。 clone(true).addClass('test')' – elclanrs

+0

看起來你的代碼工作正常。只需添加屬性的類,你可以看到差異 [1]:http://jsfiddle.net/jfYLG/2/ –

+0

@ Sushanth--它第二次消失。用戶的問題在於它不是第二次「工作」,所以我會堅持認爲它仍然不起作用。 – Daedalus

回答

1
$(function() { 
    $('.work').click(function() { 
     $clone = $('.blaat').clone().addClass('test'); 
     $('.blaat').replaceWith($clone); 
    }); 
}); 
+0

有效的唯一答案。 – Daedalus

+0

大聲笑,我覺得很奇怪,我不得不'克隆'它。我認爲在「內存」中有一個副本就足以重複使用。很明顯,情況並非如此......無論如何,您的解決方案效果非常好:) – w00