2017-06-29 25 views
0

チェックボックスをオンにしたときに要素を追加しようとしていますが、ユーザーがチェックボックスをオフにしたときにその要素を削除しようとしています。私が正しく要素を追加することですが、私はそれを削除することはできませんjQuery()を使用して要素を削除する方法

$(document).ready(function() { 

     var increment = 0; 
     var artist_to_compare = new Set(); 

     $(document).on("change", ".checkbox", function() { 
      increment += this.checked ? 1 : -1; 

      if (!this.checked) { 

       // // delete the artist from the list of comparison 
       $(element_to_delete).remove(); 
       artist_to_compare.delete(this.name); 
       var element_to_delete = "." + this.name; 
       console.log(element_to_delete); 

      } else { 

       // Add the artist to the list of comparison 
       artist_to_compare.add(this.name); 
       var element_to_add = '<p class="' + this.name + '">' + this.name + '</p>'; 
       console.log(element_to_add); 
       $(".artistToCompare").after(element_to_add); 

      } 

      if (increment >= 2) { 
       console.log(artist_to_compare); 
       // enable the compare button 

      } 
     }); 
    }); 

は、ここに私のコードです。助けてください!あなたはelement_to_delete

artist_to_compare.delete(this.name); 
    var element_to_delete = "." + this.name; 
    console.log(element_to_delete); 
$(element_to_delete).remove(); 
+1

コードを再構成する必要があります。 $(element_to_delete).remove(); element_to_deleteを定義する前に宣言されます。これをvar element_to_delete = ""に移動してください。 + this.name; if文の先頭に移動します。 – karthick

+0

element_to_deleteにはどのような値がありますか? – madalinivascu

+0

'remove()'を試しましたか? $(element_to_delete).remove()の代わりに –

答えて

2

は正しいです。定義する前にelement_to_deleteを削除するには、remove()関数を使用しています。コードに続くチェックアウト。

$(document).ready(function() { 

    var increment = 0; 
    var artist_to_compare = new Set(); 

    $(document).on("change", ".checkbox", function() { 
     increment += this.checked ? 1 : -1; 

     if (!this.checked) { 

      // delete the artist from the list of comparison 
      var element_to_delete = "." + this.name; 
      console.log(element_to_delete); 
      $(element_to_delete).remove(); 
      artist_to_compare.delete(this.name); 

     } else { 

      // Add the artist to the list of comparison 
      artist_to_compare.add(this.name); 
      var element_to_add = '<p class="' + this.name + '">' + this.name + '</p>'; 
      console.log(element_to_add); 
      $(".artistToCompare").after(element_to_add); 

     } 

     if (increment >= 2) { 
      console.log(artist_to_compare); 
      // enable the compare button 

     } 
    }); 
}); 
0

はいラーフルを定義する前に$(element_to_delete).remove();を書かれている

関連する問題