0

我正在尝试从列表中删除一个按钮,但由于某种原因,该功能似乎无法正常工作。这似乎是选择器的某种类型的问题,因为如果我将“id”选择器用于“ul”,它就可以正常工作。但是,当我将其更改为列表中“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 回答