Javascript 向下和向上滑动几次<;李>;元素同时存在

Javascript 向下和向上滑动几次<;李>;元素同时存在,javascript,jquery,html-lists,slide,Javascript,Jquery,Html Lists,Slide,我现在真的被困在这里,只是想知道是否有人能想出一个简单的办法来解决我的问题。我有几个嵌套的项,每个和中都有一些 我希望发生以下情况: 每当我点击一个项目,它包含另一个时,它应该向下滑动并显示所有列表项目,同时关闭同一“嵌套级别”上的其他列表。我试图实现这一点,但我真的不想为每个可能的星座编写一些代码,我认为有一种更简单的方法 为了更好地理解: 不知何故,该示例不起作用,但如果您将内容复制到本地文件中,它就会起作用。我做了前三个列表,我希望所有的“孩子”列表都是这样。如果有人能帮我,我会非常感激的

我现在真的被困在这里,只是想知道是否有人能想出一个简单的办法来解决我的问题。我有几个嵌套的
项,每个和中都有一些
  • 我希望发生以下情况:

    每当我点击一个
  • 项目,它包含另一个
    时,它应该向下滑动并显示所有列表项目,同时关闭同一“嵌套级别”上的其他列表。我试图实现这一点,但我真的不想为每个可能的星座编写一些代码,我认为有一种更简单的方法

    为了更好地理解:


    不知何故,该示例不起作用,但如果您将内容复制到本地文件中,它就会起作用。我做了前三个列表,我希望所有的“孩子”列表都是这样。如果有人能帮我,我会非常感激的

    你好!根据我对你问题的理解,我是这样做的:

    HTML标记

    <ul>
      <li>
        <span>value 1</span>
        <ul>
          <li>
            <span>inner value 1</span>
            <ul>
              <li>inner inner value 1</li>
              <li>inner inner value 2</li>
              <li>inner inner value 3</li>
            </ul>
          </li>
          <li>
            <span>inner value 2</span>
            <ul>
              <li>inner inner value 1</li>
              <li>inner inner value 2</li>
              <li>inner inner value 3</li>
            </ul>
          </li>
          <li>
            <span>inner value 3</span>
            <ul>
              <li>inner inner value 1</li>
              <li>inner inner value 2</li>
              <li>inner inner value 3</li>
            </ul>
          </li>
        </ul>
      </li>
      <li>
        <span>value 2</span>
        <ul>
          <li>inner value 1</li>
          <li>inner value 2</li>
          <li>inner value 3</li>
        </ul>
      </li>
      <li>
        <span>value 3</span>
        <ul>
          <li>inner value 1</li>
          <li>inner value 2</li>
          <li>inner value 3</li>
        </ul>
      </li>
    </ul>
    
    JQuery

    $("ul > li").has("> ul").click(function(e) {
      e.stopPropagation();
      $(this).find("> ul").slideToggle();
      $(this).siblings("li").find("> ul").slideUp();
    });
    $("ul > li").click(function(e) {
      e.stopPropagation();
    });
    

    它在
    jsFiddle
    上不起作用,因为您没有选择
    jQuery
    作为库。谢谢,您为我节省了很多工作。似乎我必须进一步研究JQuery。好吧,我不知道为什么,但我似乎无法创建一个与JSFIDLE相同的本地文件。我只是将所有内容复制到一个文件中,但它就是不起作用:首先,您从Google API调用jQuery库时返回了一个错误,表示它找不到您要的文件。您可以自己下载jQuery库,将其放在应用程序目录中,然后将该文件包含到应用程序中。其次,应该使用单独的
    标记来包含jQuery库和另一对放置jQuery代码的标记。最后,将所有jQuery代码放在
    $(document).ready(function(){…})中
    这样它们只在加载DOM时执行。
    $("ul > li").has("> ul").click(function(e) {
      e.stopPropagation();
      $(this).find("> ul").slideToggle();
      $(this).siblings("li").find("> ul").slideUp();
    });
    $("ul > li").click(function(e) {
      e.stopPropagation();
    });