加载页面后,用户可以添加一些文本,每次添加时,我都会添加一点“x”,以便可以删除文本。 但是当我在“x”的 id 上创建点击事件时,没有任何反应,我无法点击它。
我做错了什么?
$('<div>blabla<span id="remove">X</span></div>').insertAfter($("#add"));
$('#remove').click(function(){
$(this).hide();
});
最佳答案
当您分配单击事件时,它只会将其添加到文档中当前的元素,而不是将来添加的元素。您需要使用live
功能:
$('#remove').live( 'click', function(){ /* etc */ })
您需要 jQuery 1.3+ 才能正常工作。
注意:正如 Jan 在评论中指出的那样,每页只能有一个 ID。您应该将“remove”更改为一个类,并在上面的代码中使用 $('.remove')
。
关于使用 insertAfter 添加时找不到 Jquery id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1874657/