0

我有这段代码,

<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,但它没有。

4

3 回答 3

1

您的 onclick 处理程序附加到 <i> 元素,但您想删除父 div。尝试这样的事情。

<div class="user_event">
    <i onclick="$(this).closest('.user_event').remove()">remove</i>
</div>

使用最接近意味着无论 <i> 嵌套多深,它都会找到父 div

于 2012-06-22T10:05:09.427 回答
0

我认为你应该像$(arg0).remove();

于 2012-06-22T09:57:30.257 回答
0

试试这个:

$("#event_list_main").append($("#event").html()).click(function () {
    this.remove()
});
于 2012-06-22T09:57:53.243 回答