JQuery列表选择器行为不端

时间:2012-11-08 08:27:33

标签: javascript jquery html jquery-selectors html-lists

我知道很多人都会询问有关选择器的问题,但无论我做什么看起来都是对的,但最终还是无法正常工作。我有一份行动清单。只要单击“文件夹”,就会显示或隐藏操作。当点击动作本身时,我不希望它们再次隐藏......但是他们这样做了。任何人都可以看到我的问题是什么?我尝试了很多变化;也许现在才迟到。

相关代码:

func.js

$(function() {
    $(".menuitems").hide();

    $("#dmenu li").not(".menuitems li").click(function() {
        $(this).children(".menuitems").slideToggle();
    });

    $(".menuitems").children("li").click(function() {
        $.get("aux/" + $(this).text() + ".html", function(data) {
            $("#content").html(data);
        }, "text");
    });
});

main.html中

<div id="content">
All contents come here!!
</div>

<div id="leftnavigation">
<h3>Options</h3>
<ul id="dmenu" style="list-style-type:none; margin-left:-50">
    <li>__Registration
        <ul class="menuitems">
            <li>FindExisting</li>
            <li>CreateNew</li>
        </ul>
    </li>
</ul>
</div>

1 个答案:

答案 0 :(得分:3)

你想查看里面有.menuitems的所有li元素,你可以这样做:

$(function() {
    $("#dmenu li:has(.menuitems)").click(function() {
        $(this).children(".menuitems").slideToggle();
    });
    $(".menuitems").hide().find("li").click(function() {
        $.get("aux/" + $(this).text() + ".html", function(data) {
            $("#content").html(data);
        }, "text");
      return false;
    });
});