javascript - 有没有另一种方法可以将 JS 连接到 HTML?
问题描述
我想在 HTML/CSS/JS 中制作一个可折叠的目录列表,但它似乎不起作用(可折叠部分)。其他一切都很好。你能帮我吗?
代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<ul class="directory-list">
<li>assets
<ul>
<li>css
<ul>
<li>typography.css</li>
<li>layout.css</li>
<li>modules.css</li>
<li>states.css</li>
<li>theme.css</li>
</ul>
</li>
</ul>
</li>
</ul>
<script type="text/javascript">
const allFolders = $(".directory-list li > ul");
allFolders.each(function() {
const folderAndName = $(this).parent();
folderAndName.addClass("folder");
const backupOfThisFolder = $(this);
$(this).remove();
folderAndName.wrapInner("<a href='#' />");
folderAndName.append(backupOfThisFolder);
folderAndName.find("a").click(function(e) {
$(this).siblings("ul").slideToggle("slow");
e.preventDefault();
});
});
</script>
</body>
</html>
解决方案
您需要添加对 jquery 的引用。您自己的 javascript 似乎正在引用它。
您可以在标题标签中添加此链接
<script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
或者您可以使用 vanilla (plain) javascript 制作可折叠功能:
https://codepen.io/sheelah/pen/EPEOBb
甚至是 CSS:
推荐阅读
- c - 在 C 中连接字符串 - `strcpy(s1 += strlen(s1), s2)`
- python - 在不使用内置函数的情况下返回第 n 个最小的数字 - Python
- regex - 删除文本正则表达式
- node.js - 如何摆脱“发送后无法设置标题”。错误
- python - 具有更多方法的 Python 子类
- c++ - 如何分配给结构对象的成员?
- javascript - 如何将 Php 数组转换为 Javascript 数组并在 Highcharts 中绘制
- c++11 - 对共享指针的引用已损坏
- javascript - java中ajax post调用的等效方法
- ios - 我将如何为自定义 UIView 或 CGLayer 的一部分设置动画?