所以..这个应该很简单。我有一个锚元素。单击它时,我想调用一个将删除它的父元素的函数。从本质上讲,它是一个删除父级的链接。
我将如何做到这一点?我尝试过使用以下内容,但无效:
<div>
<a href='javascript:removeParent()'>Remove</a>
</div>
<script>
function removeParent() {
$( this ).parent().remove()
}
</script>
任何人都可以帮助我吗?
我正在尝试完成此操作,因为它是一个可以具有多个属性的表单...因此您可以添加更多属性,因此需要一种方法来删除它们。
干杯!
答案 0 :(得分:3)
$(this)不是您正在这样做的元素。
理想情况下,这是:
<a href='#' class='remove'>Remove</a>
$('.remove').on('click', function(e){
e.preventDefault();
$(this).parent().remove();
});
然而,问题的这一部分“所以你可以添加更多属性,因此需要一种方法来删除它们。”意味着你需要将它应用于未来的元素
$(document).on('click', '.remove', function(e){
e.preventDefault();
$(this).parent().remove();
});
虽然在理想的情况下你可以减少搜索jQuery,所以给你的列表包装器一个ID并使用它来识别可移动元素。
$('#attributelist').on('click', '.remove', function(e){
e.preventDefault();
$(this).parent().remove();
});
答案 1 :(得分:0)
如果您在onload之后动态创建元素,则需要修改popnoodle的代码以使用容器:
$('#container').on('click', '.remove', function(e) {...
这假设所有具有类remove
的元素都在元素container
中。它在container
上创建一个事件处理程序,它将应用于类remove
的任何元素,即使它们是在附加处理程序之后创建的。