質問: $('');//削除ボタンの作成 $li.append($checkbox).append(text).append($removebutton);//リストにテキストとチェックボックスと削除ボタンを追加 $todolist.append($li); //alert(text); }; ```
回答: `$('.listremove').on('click',function(){ ... })`はこの文を実行した時点で存在する`.listremove`にのみイベントハンドラーがセットされます。あとから追加した`.listremove`は反応しません。 何でもいいから`.listremove`がクリックされたら~したい、というときはdelegated eventを使うといいです。 ``` $(selectorA).on('click', selectorB, listner); ``` こうすると、`selectorA`の子孫要素で`selectorB`にマッチするものが`click`イベントを発生させたとき、`listener`が呼び出されます(`selectorB`にマッチするかどうかは、イベントが発生したときにチェックされます)。 今の場合、特に範囲を限定しないなら、`document`全体でキャッチすればいいと思います。 ``` $(document).on('click', '.listremove', function (e) { $(e.target).remove(); }); ```