点击使用jQuery从UL中删除LI

时间:2010-07-14 19:53:29

标签: jquery html

所以我有一个INPUT TEXT,在按键=输入时将LI预先设为UL

LI包含一个LINK,允许用户从UL中删除它

HTML(在页面加载时)

<ul id="conditionList"></ul>

在用户输入一些条件后,UL将填充LI

<li>condition<a href="#" class="clearitem">x</a></li>

然而,在我的jQuery中

$('#conditionList a.clearitem').click(function(){
$(this).parent().remove();
});

不起作用!

是因为它没有认出新的LI?

3 个答案:

答案 0 :(得分:6)

自1.9以来已弃用。使用on代替live

使用live()代替click,因为您的链接是动态生成的:

$('#conditionList a.clearitem').live('click', function(){
  $(this).parent().remove();
});

<强> .live()

  

为所有人附加一个处理程序   与当前相匹配的元素   选择器,现在或将来。

自1.9以来被剥夺。使用on代替live

答案 1 :(得分:2)

您需要使用将识别已创建元素的事件绑定。这应该这样做:

$('#conditionList a.clearitem').live('click', function () {
  $(this).parent().remove();
});

答案 2 :(得分:1)

可能在声明了click事件处理程序后将LI添加到DOM中?如果是这样,您可能希望使用live()而不是bind():

$('#conditionList a.clearitem').live('click', function(){
$(this).parent().remove();
});