任何人都可以告诉为什么这个动画不起作用?

时间:2012-12-13 16:46:24

标签: jquery

我无法让display: block使用span

$(".wishlistbtn, .compareboxbtn").hover(
    function() { $(this).children(".helppopup").show(); },
    function() { $(this).children(".helppopup").hide(); }
);

带标记:

<ul>
    <li class="wishlistbtn"><a href="#">Wishlist <span class="helppopup">Add to my Wishlist<img src="images/helppopup-arrow.png" alt=""></span></a></li>
    <li class="compareboxbtn"><a href="#">Compare <span class="helppopup">Add to compare box<img src="images/helppopup-arrow.png" alt=""></span></a></li>
    <li class="getquotebtn"><a href="#">Get Quote</a></li>
</ul>

它根本不起作用,但同样的技术在其他地方起作用。

3 个答案:

答案 0 :(得分:4)

使用find代替children,因为.hellpopup元素不是直接子代:

$(".wishlistbtn, .compareboxbtn").hover(
    function() { $(this).find(".helppopup").show(); },
    function() { $(this).find(".helppopup").hide(); }
);

(ugly) Demonstration

答案 1 :(得分:1)

$(".wishlistbtn, .compareboxbtn").hover(
// the .helpopup's are grandchildrean, not children of 'this'
    function() { $(this).find(".helppopup").show(); },
    function() { $(this).find(".helppopup").hide(); }
);

答案 2 :(得分:0)

确保您在$(document).ready()中运行该函数;在dom加载之后。