我正在尝试从列表中删除按钮,由于某种原因,该功能似乎无法正常工作。它似乎是选择器的某种类型的问题,因为如果我使用'id'的'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();
}); });
答案 0 :(得分:3)
也许这适合你:
$(document).ready(function(){
$('.plan a').on('click',function() {
$(this).parent().remove();
});
});
或
$(document).ready(function(){
$('.plan').on('click',function() {
$(this).remove();
});
});
使用您的代码将删除#courses
答案 1 :(得分:1)
尝试将其更改为:
$('#courses').on('click', '.plan', function () {
// same code here
});
这是委托事件处理程序,而不是普通的绑定事件处理程序。委托通常用于具有未来元素的元素,例如您要追加的列表项。
另外,请确保将.append()
调用链放在文档就绪处理程序中,以防您不这样做。