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でマウスオーバーイベントが発生しないためです。

于 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 に答える