动态地将一个函数分配给div JQuery

时间:2012-06-22 09:56:14

标签: javascript jquery ruby-on-rails-3

我有这段代码,

<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,但它不会。

3 个答案:

答案 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()
});