2015-12-22 11 views
5

私はview demo hereと見ることができるクローン要素関数を作成しました。リセットボタンを押すと、クローンされたアイテム要素がすべて削除されますが、アイテムリストに別のアイテムを追加しようとすると、 'NEW'追加アイテムはDOMで表示されません。jQueryの.remove()が親クラスを削除しないようにする方法

$('#add-btn').on('click',function(){ 
    $('.list-items:first').clone().appendTo("#items").addClass('isVisible'); 
    $('#items-fields').val(''); 
}) 

// RESET BUTTON 
$('.reset').on('click', function(){ 
    if($('.list-items').length != 1); 
    $('.list-items:last').remove(); 
    event.preventDefault(); 
}) 
+0

削除するアイテムを指定する必要があります。クラス名を使ってこれを行うと、このクラスのすべての要素が影響を受けます。あなたが関連するすべてのコードを投稿してもらうのを助けてもらいたいなら、その動作をエミュレートすることが可能です。 – Franco

+0

@Franco私は自分の質問をうまく書いていない限り、それはかなり自明です。私が削除したい要素は、デモで示され、コードに書かれている '.list-items'です。 (現在の機能で削除されています)。デモを見ると、ユーザーがリセットボタンを押したときにすべてのアイテムが削除され、DOMに表示されない新しいアイテムを追加しようとすると再び質問に記載され、デモでデモされます – NewKidOnTheBlock

+0

それと、私はあなたがこの前に他の質問を投稿したことも見ました。あなたが見ることができるように、あなたは拳1のための多くの応答を得ていないし、もちろんあなたが望むことを行うことができます。私はちょうどあなたの問題の良い答えにあなたのチャンスを上げるためのアドバイスを与えていた。 – Franco

答えて

1

..

When a user clicks the delete button, if the number of things with the class list-item does not equal 0, then remove the last list-item 

あなたは次のようにコードを変更する必要があります。

When a user clicks the delete button, if the number of things with the class list-item is greater than 1, then remove the last list-item 
1

あなたはこの置き換える必要があります:あなたは、あなたが検索したいしながら、 'リスト項目' で 'ID' の要素を検索

var eleClone = $('.list-items').clone(true); 

:このことにより

var eleClone = $('list-items').clone(true); 

をクラスが 'list-items'である要素。あなたのリセットボタンは、あなたのリストの項目に次のように設定している時点では、次の

$('.reset').on('click', function(){ 
    if($('.list-items').length > 1) { 
     $('.list-items:last').remove(); 
    } 
}) 

にあなたのif文でコードを変更する必要があり

+0

私はこれを試しましたが、複製された要素は削除されません – NewKidOnTheBlock

+0

、そのコマンドはすべてのリスト項目をeleCloneの内容で置き換えます。 –

関連する問題