求助:我的jQuery Accordion组件无法正常工作,求排查方案
你的jQuery折叠面板失效的原因&修复方案
嘿,别慌!作为新手遇到这种问题太正常了,我帮你拆解下代码里的几个关键问题,分分钟就能搞定~
问题1:Script标签语法写错了
你看这段代码:
<script type="text/javascript" <script> src="http://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
这里嵌套了两个<script>标签,属于语法错误,浏览器根本没法正确加载jQuery库!正确的写法应该是用单个标签包含src属性。
问题2:忘记引入jQuery UI库
划重点:jQuery核心库没有自带accordion()方法!这个是jQuery UI组件里的功能,所以你必须同时引入jQuery UI的JS和CSS文件,不然方法根本不存在,自然没法生效。
修复后的完整代码
我把所有问题都修正了,还补了标准的折叠面板HTML结构,你直接用这个就能正常工作:
<!DOCTYPE HTML> <html lang="en"> <head> <meta charset="utf-8"> <title>jQuery Accordion</title> <!-- 1. 先引入jQuery核心库 --> <script src="http://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <!-- 2. 引入jQuery UI的JS文件 --> <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script> <!-- 3. 引入jQuery UI的CSS(必须加,不然没样式还可能影响功能) --> <link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css"> <script type="text/javascript"> // 等待DOM加载完成再初始化折叠面板 $(function() { $("#accordion").accordion(); }); </script> </head> <body> <!-- 标准的jQuery UI Accordion结构:标题+内容块的组合 --> <div id="accordion"> <h3>第一部分</h3> <div> <p>这里是第一部分的内容,折叠起来就会隐藏啦~</p> </div> <h3>第二部分</h3> <div> <p>这是第二部分的内容,点击标题就能切换显示/隐藏!</p> </div> </div> </body> </html>
额外小提醒
- 要确保你的HTML结构符合要求:折叠标题用
<h1>-<h6>标签,下面紧跟对应的内容<div>,所有元素都放在id为accordion的容器里。 - jQuery和jQuery UI的版本要兼容,我给你配的3.3.1+1.12.1是没问题的组合,别乱换版本哦。
内容的提问来源于stack exchange,提问作者noob4lyfe
相关产品推荐
相关产品推荐

