jquery nearest()或孩子不工作

时间:2013-02-08 07:05:00

标签: jquery

jquery代码: -

$('.cycle-status-update')
  .on('mouseenter', (function(){
    $(this).closest('.delete-status-update-link').show();
  }))
  .on('mouseleave', (function(){
    $(this).closest('.delete-status-update-link').hide();
  }))

html代码: -

.status-partial
    -@user.status_updates.latest.limit(5).each do |status_update|
        .row-fluid.cycle-status-update{:class => cycle("dark", "light")}
            .row-fluid
                .span11
                    = status_update.status
                .span1
                    .delete-status-update-link
                        %strong= link_to "X", [@user,status_update], :remote => true, :method => :delete, :class => "delete-status-update"
            .row-fluid
                .time-ago-in-words
                    ="#{time_ago_in_words(status_update.created_at)} ago"

这可能是什么问题?

2 个答案:

答案 0 :(得分:2)

使用find()

$(this).find('.delete-status-update-link').show();

答案 1 :(得分:0)

您的代码存在问题,(function在功能之前(以及)之后:

$('.cycle-status-update')
     .on('mouseenter', (function(){
     $(this).closest('.delete-status-update-link').show();
}))//<----here
.on('mouseleave', (function(){ //<--before function
    $(this).closest('.delete-status-update-link').hide();
}))
//^----here

试试这个:

$('.cycle-status-update').on('mouseenter', function(){
  $('.delete-status-update-link').show();
}).on('mouseleave', function(){
  $('.delete-status-update-link').hide();
});