在mouseenter / mouseleave jquery上更改每个div的可见性

时间:2013-02-19 23:06:47

标签: jquery visibility each mouseenter mouseleave

我查看了jquery网站上的所有文档,我也搜索了与我的问题相关的所有问题,但我还没有找到解决方案。我想要做的是当你在post课上徘徊是为了使post span a中的链接出现并在鼠标明显离开时消失...现在,唯一的事情是正在发生的事情是,当我将鼠标悬停在其中一个post类上时,每个div都会显示链接,但我不希望这样,我只想要像Twitter帖子上发生的那样,例如,当悬停帖子时,会显示回复,转发,收藏和更多链接。我想要那样。

$(function(){
  $.each(function(){
    $(".post").mouseenter(function(){
        $(".post span a").css("visibility", "visible");
    });
  });
  $.each(function(){
    $(".post").mouseleave(function(){
        $(".post span a").css("visibility", "hidden");
    });
  });
});

编辑:抱歉没有发布HTML,这里是

  <div class="post">

                <span>
                    <a href="<?php echo base_url() . '/discussion/edit/' . $post['pid'];?>" class="post-edit" id="<?php echo $post['pid'];?>">edit</a>
                    &nbsp;
                    <a href="<?php echo base_url('discussion/delete/' . $post['pid']); ?>">delete</a>
                </span>
                </div>

3 个答案:

答案 0 :(得分:3)

我建议:

$('.post').hover(function(){
    $(this).find('a').css('visibility','visible');
},
function(){
    $(this).find('a').css('visibility','hidden');
});

答案 1 :(得分:2)

为什么不使用CSS?

.post span a {
    visibility: hidden;
}

.post:hover span a {
    visibility: visible;
}

答案 2 :(得分:0)

请改为尝试:

$(function(){
  $('.post').each(function(index, element) {
    $(element).mouseenter(function() {
      $(element).find('span a').show();
    }).mouseleave(function() {
      $(element).find('span a').hide();
    });
  });
});