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

jQuery collapse function in expandable (accordion) list not working when anchor tags are used

本文关键字:列表 jQuery 不起作用 功能 折叠 手风琴 可展开      更新时间:2023-09-26

我正在使用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']);  }

列表的第一层旨在包含超链接(旁注:我知道jQuery脚本关闭了超链接,但我已经找到了解决此问题的方法(。 尽管如此,用于在第一层中创建超链接的锚标记似乎干扰了折叠功能。 更具体地说,折叠功能将隐藏所有行(包括第一层超链接(,而不仅仅是包含"信息行 1"和"信息行 2"的两行。

在对此进行故障排除时,我从 printf 行中删除了锚标签,一切正常,除了链接不是可单击的超链接。

有人可以向我解释为什么锚标签会导致这样的问题并可能提供解决方案吗? 提前感谢您的任何建议。

我已经更新了你的小提琴以显示这个工作 - http://jsfiddle.net/R7zaT/3/

您正在将折叠的类添加到<li>中,该应该在下面的<ul>上以保持文本就位。

我更改了以下内容:

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

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

这会将类添加到<li>的子级

我与提供解决方案的人交谈过。 一种可能的解决方法是更改:

$('.

collapsed'(.children(''(.show('medium'(;自$('.collapsed'(.children('ul'(.show('medium'(;

$('.

collapsed'(.children(''(.hide('medium'(;自$('.collapsed'(.children('ul'(.hide('medium'(;

感谢 haxbth 在这方面的帮助。