0

我想<p>在鼠标悬停时隐藏和显示标签,但我的代码只能隐藏p标签而不再显示,为什么?

<html>
  <head>
<script type="text/javascript" src="jquery.js"></script>
<script>
  $(function(){
    $("#mouse").mouseover(function(){
      if($(this).is(':hidden')){
        $(this).show("normal");
      }
      else{
       $(this).hide("slow"); 
      }
    });
  });
</script>
  </head>
  <body bgcolor="white">
   <p id="mouse">
     test
   </p>
 </body>
</html>
4

2 回答 2

4

因为在隐藏的 p 上不会有 mouseover 事件。

于 2012-05-25T09:29:13.607 回答
1

当元素被隐藏时,您不能使用任何事件。如果你不隐藏“p”而只隐藏“p”中的元素会更好。

例子

<script>
$(document).ready(function() {
  $(".hidden").hover(function () {
     $(".hidden span").toggle();
  });
});
</script>

<p class='hidden'>please hover<span> Hide this text </span></p>
于 2012-05-25T09:48:57.940 回答