我正在做一个项目,在那里我遇到了一些用户界面调整,我需要删除一些 HTML div 元素。
请检查此代码http://jsfiddle.net/YVZH5/如果单击文本,您将看到蓝色标记。当用户单击 X 时,我需要删除该标签。但它不起作用。
它在这里工作http://jsfiddle.net/Jst4v/那么,问题出在哪里?
谢谢!
我正在做一个项目,在那里我遇到了一些用户界面调整,我需要删除一些 HTML div 元素。
请检查此代码http://jsfiddle.net/YVZH5/如果单击文本,您将看到蓝色标记。当用户单击 X 时,我需要删除该标签。但它不起作用。
它在这里工作http://jsfiddle.net/Jst4v/那么,问题出在哪里?
谢谢!
你需要改变
$("#service-sets").click(function(){
$("#facebook-tag").remove();
});
至
$("#service-sets").on('click', '#facebook-del', function(){
$("#facebook-tag").remove();
});
因为,#facebook-del
(十字图标)将删除标签,并且在 DOM 准备好后它们会来到 DOM,所以它们需要委托,即实时事件。
它在您的第一个小提琴而不是您的第二个小提琴中起作用的原因是因为您尝试将点击功能附加到 (facebook-del) 的元素在分配时不存在于 DOM 中。
在第二个示例中,元素存在于页面加载中,因此被分配了点击功能。
尝试将 .on() 视为将点击事件分配给像这样动态添加的元素的一种方式。