为什么图像需要在div / span元素中包围才能使效果正常工作?

时间:2010-10-26 16:05:35

标签: jquery jquery-ui jquery-plugins jquery-effects

我并不特别理解为什么图像会在一个范围内起作用,而不是单独起作用。
请参阅完整示例here

JS

 $(document).ready(
     function ()
     {
        $('#banner').hover( function(event){ $(this).children().hide("slow");}
                          , function(event){ $(this).children().show("slow");}
                          );
     }
  );

HTML

<div id="banner">
   <span><img src="http://static.jquery.com/files/rocker/images/logo_jquery_215x53.gif" title="Image" alt="Image"/></span>
</div>

VS

<div id="banner">
   <img src="http://static.jquery.com/files/rocker/images/logo_jquery_215x53.gif" title="Image" alt="Image"/>
</div>

1 个答案:

答案 0 :(得分:0)

我认为元素需要包含在DIV中。对于我的网站,较大的图像隐藏有问题;它只是垂直隐藏而不是垂直和水平隐藏。

在DIV中包装修复此问题。

我还没有更深入地了解jQuery如何执行hide(),但这种情况很有意义,因为DIV是块元素而SPAN不是。{1}}。