Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用锚定标记时,可扩展(手风琴)列表中的jQuery折叠功能不起作用_Javascript_Jquery - Fatal编程技术网

Javascript 使用锚定标记时,可扩展(手风琴)列表中的jQuery折叠功能不起作用

Javascript 使用锚定标记时,可扩展(手风琴)列表中的jQuery折叠功能不起作用,javascript,jquery,Javascript,Jquery,我正在使用jQuery(scripts.js)实现一个手风琴列表。列表的内容由以下php代码生成: $resultf = mysqli_query($db,"SELECT * FROM groups WHERE name LIKE 'f%' ORDER BY name"); while($row = mysqli_fetch_array($resultf)) { printf("<li><a href='http://www.domain.com/list/viewgr

我正在使用jQuery(scripts.js)实现一个手风琴列表。列表的内容由以下php代码生成:

$resultf = mysqli_query($db,"SELECT * FROM groups WHERE name LIKE 'f%' ORDER BY name");
while($row = mysqli_fetch_array($resultf))
  {
  printf("<li><a href='http://www.domain.com/list/viewgroup.php?id=%s'>%s<br></a>
                <ul>
                    <li>
                            Info line 1<br>
            Info line 2<br>
                    </li>
               </ul>
          </li>", $row['id'], $row['name']);  }
$resultf=mysqli_query($db,“从名为“f%”的组中选择*);
while($row=mysqli\u fetch\u数组($resultf))
{
printf(“
    • 信息行1
      信息行2
  • “,$row['id'],$row['name'];}
    列表的第一层旨在包含超链接(旁注:我知道jQuery脚本会关闭超链接,但我已经找到了一种解决方法)。然而,用于在第一层中创建超链接的锚标记似乎干扰了折叠功能。更具体地说,折叠函数将隐藏所有行(包括第一层超链接),而不仅仅是包含“信息行1”和“信息行2”的两行

    在解决这个问题时,我删除了printf行中的锚定标记,一切正常,除了链接不是可点击的超链接


    有人能向我解释为什么锚定标签会导致这样的问题,并可能提供解决方案吗?提前谢谢你的建议

    我已更新了您的小提琴,以显示此功能-

    您正在将折叠的类添加到
  • 中,该类应位于下面的
    中,以保持文本的位置

    我更改了以下内容:

    .addClass('collapsed').removeClass('expanded').children('ul').hide(); 
    


    这将类添加到
  • 的子类中。我与提供解决方案的人进行了交谈。一个可能的解决方案正在改变:

    $('.collapsed')。子项('.show('medium'); 到 $('.collapsed')。children('ul')。show('medium')

    $('.collapsed')。子项('.hide('.medium'); 到 $('.collapsed')。children('ul')。hide('medium')


    感谢哈克斯布斯在这方面的帮助

    链接url周围缺少引号。这是故意的吗?不,对不起。我会把这些加回去。当我在排除故障时删除锚定标签时,我将其取出。谢谢你指出这一点。谁能告诉我为什么有人会投票否决我的问题?如果我的问题出于某种原因不合适,我会从了解原因中获益。谢谢下面是我创建的一个JSFIDLE,它演示了这个问题。我无法在Tier 1列表之前上载+和-图形,但您仍然可以通过直接单击这些行的左侧来单独展开或折叠。您将看到,当单击“全部折叠”功能时,超级链接的第1层消失,而常规文本的第1层保留。非常感谢您的回复。我用你创建的小提琴做了实验,所有的折叠功能都非常有效。但是,列表加载已展开,在项目被折叠后,我在展开功能(单独和全部展开)方面遇到了问题。问题并非始终如一。有时这些功能会起作用,但有时不会。我也不知道为什么我的小提琴工作良好,如果我只是删除与href行锚标签。我认为锚定标记会抛弃javascript,但我不知道如何或如何修复它。非常感谢。您是否希望页面以全部折叠开始?超链接层应该扩展还是只链接到某个地方而不扩展?我已经更新了答案中的fiddle链接。您的按钮功能代码也适用于需要取出的儿童。最后一部分将取决于你打算如何超链接工作。我正在寻找列表开始折叠。每个标有“Tier 1”的行随后展开,每个行下面有两行。我通常会有一个“+”的图像在第1层的前面,但我不知道如何上传在小提琴图像。项目展开后,该图像将变为“-”。当单击超链接时,它是一个实际的链接,但它前面的+和-允许列表展开和折叠。在我的小提琴中,如果你删除锚定标签,它工作得很好(但我失去了超链接功能)。我认为锚定标签和collapseall脚本是不一致的。在更新的fiddle上,expand all在collapseall被使用后效果很好。但是,如果我单独折叠一个或两个,则“全部展开”似乎不起作用。我真的很感激你帮助我的努力。你的建议帮助我思考和了解它。我真的认为问题在于锚定标签,但如果我确实知道,我就不必寻求帮助。非常感谢。
    .children().addClass('collapsed').removeClass('expanded').children('ul').hide();