0

リストからボタンを削除しようとしていますが、何らかの理由で機能が正しく動作していないようです。「ul」に「id」セレクターを使用すると問題なく動作するため、セレクターに何らかの問題があるようです。しかし、リスト内の「li」のクラスセレクターに変更すると、機能しなくなります。これが何であるかを知っている人はいますか?

ご協力いただきありがとうございます。

$('#courses').append('<li class="plan" data-icon="delete"><a>'+in_course+' Credit: '+in_hrs+' Grade: '+ in_gpa+'</a></li>').listview('refresh');


$(document).ready(function(){
    $('.plan').on('click',function() {
         $(this).parent().remove();
    }); });
4

2 に答える 2

3

多分これはあなたのために働く:

$(document).ready(function(){
  $('.plan a').on('click',function() {
     $(this).parent().remove();
  });
});

また

$(document).ready(function(){
  $('.plan').on('click',function() {
     $(this).remove();
  });
});

コードを使用すると #courses が削除されます

于 2012-06-25T17:37:18.560 に答える
1

それを次のように変更してみてください。

$('#courses').on('click', '.plan', function () {
    // same code here
});

これは、通常のバインド イベント ハンドラとは対照的に、デリゲート イベントハンドラです。デリゲートは通常、追加するリスト項目など、将来の要素を持つ要素に使用されます。

また、.append()そうしない場合に備えて、呼び出しチェーンをドキュメント準備ハンドラー内に配置してください。

于 2012-06-25T17:36:23.197 に答える