0

我创建了一个动态侧面类别菜单。

 $(document).ready(function () {
            $(' #cate_id2 > ul > #subcate_id4 > ul').hide();

            $(' #cate_id2 > ul > #subcate_id4 ').hover(function () {
                $(' #cate_id2 > ul > #subcate_id4 > ul').stop().slideDown('fast');
            },

           function () {
               $(' #cate_id2 > ul > #subcate_id4 > ul').stop().slideUp('fast');
           });
        });

但是这里有些<li>包含内部标签,所以我希望它可以正常工作 - 所有都<li>应该工作而不给出单个<li> 标签的 id(它包含),我的意思是如果任何<li>标签包含<ul>要显示的内部标签,那么它应该在悬停时工作

这里的id <li>(包含内部ul)---- subcate_id4

我试过了------

$(document).ready(function () { $(' #cate_id2 > ul').show(); });
        $(document).ready(function () {
            $(' #cate_id2 > ul > li:has(ul) > ul').hide();

            $(' #cate_id2 > ul > li:has(ul) > ul ').hover(function () {
                $(' #cate_id2 > ul > li:has(ul) > ul').stop().slideDown('fast');
            },

           function () {
               $(' #cate_id2 > ul > li:has(ul) > ul').stop().slideUp('fast');
           });
        });

但没有奏效

4

2 回答 2

1
<script>
$('#list li').has('ul').hover(function() {
    // ...
});
</script>

请向我展示 HTML 结构,以便我可以完成代码。你的选择器是一场噩梦!:)

于 2012-10-24T14:29:18.500 回答
1
$(' #cate_id2 > ul > li > ul').hide();
$(' #cate_id2 > ul > li:has(ul)').hover(
    function () { 
        $(this).find("> ul").stop().slideDown("fast");
    },
    function () { 
        $(this).find("> ul").stop().slideUp("fast");
    }
);
于 2012-10-24T14:29:50.567 回答