我附加了< li>标签与密切类span标记
<ul id="keyword"> </ul>
jQuery的
$("#btnadd").click(function() { addkey = document.getElementById("txtaddkey").value; if(addkey!=""){ $('#keyword').append('<li><span>'+addkey+'</span><span class=\"amountin\"><a href=\"#\">$0.05</a> $<input type=\"text\" maxlength=\"5\"/></span><span class=\'close ui-icon \'></span></li>'); $('#txtaddkey').val(''); } }); $(".close").click(function (){ $(this).parent().remove(); });
在li附加到ul标签后,我尝试通过单击关闭图标删除li标签,但事件不起作用.
你可以请任何帮助我.
解决方法
您可以将点击直接分配给新创建的元素:
$("#btnadd").click(function() { // Made it a local variable by using "var" var addkey = document.getElementById("txtaddkey").value; if(addkey!=""){ $('<li><span>'+addkey+'</span><span class=\"amountin\"><a href=\"#\">$0.05</a> $<input type=\"text\" maxlength=\"5\"/></span><span class=\'close ui-icon \'></span></li>') .find('.close').click(function (){ $(this).parent().remove(); }) .end().appendTo('#keyword'); $('#txtaddkey').val(''); } });
或者如果有其中的几个,最好使用.delegate(),如in @Nick’s answer所示.