所以我有一个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?
答案 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();
});