jquery菜单(一些`<li>`包含内部`<ul>`标签)</ul> </li>

时间:2012-10-24 14:23:37

标签: javascript jquery asp.net html

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

 $(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&gt;的ID标记(包含),我的意思是,如果任何<li>标记包含要显示的内部<ul>,那么它应该在悬停时起作用

此处<li>的ID(包含内部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');
           });
        });

但没有效果

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分: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");
    }
);