Jquery的删除特性

Jquery的删除特性,jquery,Jquery,我正在用Jquery构建一个购物列表,并且在删除特性方面有一些问题。基本上,当他们点击x时,我试图删除一个项目。删除功能不起作用…你们有什么建议吗?代码如下: $(document).ready(function() { //assigning the click event to the buttom $('#addButton').click(function(){ var listItem = $('#listItem'); $('#shoppingList ul

我正在用Jquery构建一个购物列表,并且在删除特性方面有一些问题。基本上,当他们点击x时,我试图删除一个项目。删除功能不起作用…你们有什么建议吗?代码如下:

    $(document).ready(function() {
//assigning the click event to the buttom
$('#addButton').click(function(){

    var listItem = $('#listItem');
    $('#shoppingList ul').append('<li>' + listItem.val() + "   X   " + '</li>');
    listItem.val('').focus();

});


$('#shoppingList').on("click", "X", function () {

    $('this').parent().remove();
});
})

X不是jQuery中的有效选择器。在你的情况下,它只是一个普通的文本

因此,一种解决方案是将X包裹在跨度内,例如:

$('#shoppingList ul').append('<li>' + listItem.val() + "   <span class='close'>X</span>   " + '</li>');

还请注意,您不需要将其包装在“”中,因此需要使用$this而不是$this。

此选择器是错误的

$('#shoppingList').on("click", "X", function () { });
它不使用内部文本,而是使用普通的jQuery选择器。

您应该使用

$(this).parent().remove();
而不是

$('this').parent().remove();

“this”只是一个字符串,是一个关键字,在事件处理程序中,它引用了事件从中激发的元素。

这是唯一的问题吗?@ProllyGeek可能不是,看到其他答案。Felix,这绝对是个窍门!谢谢你的意见!谢谢你的反馈!
$('this').parent().remove();