使用此代码,我可以在div中添加带有一些文本和超链接的div:
$('<div/>')
.html("<a href='#'>x</a> " + i.item.label + " - ")
.attr({ 'id': i.item.val })
.addClass('boxClass')
.appendTo('#acResults');
当我点击创建的div中的x
链接时,我想删除创建的链接。类似于本网站标签部分中的删除标签的内容。
你能帮我吗?
答案 0 :(得分:2)
因为动态附加了元素,所以需要使用委托的事件处理程序。在那里,您可以使用closest()
查找父div
并将其删除。试试这个:
$('#acResults').on('click', '.boxClass a', function(e) {
e.preventDefault();
$(this).closest('.boxClass').remove();
});
答案 1 :(得分:1)
您可以执行此操作:使用.on()
添加点击事件(我们为动态创建的元素执行此操作)并使用.remove()
删除点击的链接。
$(document).on('click','div.boxClass a',function(){
$(this).remove();
});
编辑 - 正如OP提到的“我想在帖子中点击创建的div中的x链接时删除创建的链接”,但看起来OP想删除{ {1}}而不是链接。请在下面找到更新的答案 -
div
答案 2 :(得分:0)
在此链接中添加一些课程
$('<div/>')
.html("<a class='remove-link' href='#'>x</a> " + i.item.label + " - ")
.attr({'id': i.item.val})
.addClass('boxClass')
.appendTo('#acResults');
然后尝试
$('.remove-link').click(function (event) {
event.preventDefault();
$(this).remove();
});