show hide使用jquery嵌套ul(s)?

时间:2011-08-21 20:08:12

标签: jquery

我有li列表,如果我点击li,我会想要扩展,如果我点击链接'a'而不是li。

如何让jquery在a下工作?而不是li?

下面是我到目前为止的代码:

$("#leftcontent ul li:not(:has(li.current))").find("ul").hide().end() // Hide all other ULs
    .click(function(e) {
        if (this == e.target) {  // if the handler element is where the event originated
            $(this).children('ul').slideToggle('fast');
        }
});

1 个答案:

答案 0 :(得分:4)

试试这个:

$("#leftcontent li > a").click(function() {
    // get the parent <li> of the <a>
    var li = $(this).closest('li');
    // open the child <ul> of the <li>
    li.find(' > ul').slideToggle('fast');
});

在此测试:http://jsfiddle.net/Ye6U5/

隐藏嵌套的uls onload:

$(function() {
    $("#leftcontent li > ul").hide();
});

http://jsfiddle.net/Ye6U5/1/