我有这段代码,
<div id="event" style="display:none;"> <!-- initially hidden -->
<div class="user_event my_background">
<%= image_tag("events_pics/boom.png", :class=> 'event_pic_small') %>
<h6 class="event_info">Event_1: Frame: 974</h6>
<a class="btn btn-mini btn-danger pull-right " href="#"><i class="icon-remove" onclick="remove(this)"></i></a>
</div>
</div>
和jquery中的代码:
function add_event(event){
//ASSIGN DATA VALUES BEFORE
$("#event_list_main").append($("#event").html());
}
这似乎工作得很好。问题是每次我“创建”div时,我都希望为div分配一个删除功能。所以我可以删除div本身。这就是为什么我将onclick="remove(this)"
传递给函数“div”本身。问题是我的删除功能中的代码不起作用:
function remove(arg0){
arg0.remove();
}
这应该删除给定的div,但它不会。
答案 0 :(得分:1)
您的onclick处理程序附加到&lt; i&gt;元素,但您想要删除父div。尝试这样的事情。
<div class="user_event">
<i onclick="$(this).closest('.user_event').remove()">remove</i>
</div>
使用最接近意味着无论嵌套有多深,&lt; i&gt;都会找到父div。是
答案 1 :(得分:0)
我认为你应该放置$(arg0).remove();
答案 2 :(得分:0)
试试这个:
$("#event_list_main").append($("#event").html()).click(function () {
this.remove()
});