javascript - 添加在现有的内部
问题描述
<!DOCTYPE html>
<html>
<body>
<ul>
<li><a href="#home">Home</a></li>
<li><a href="#news">News</a></li>
<li><a href="#contact">Contact</a></li>
<li><a href="#about">About</a>
<ul>
<li>profile</li>
<li>details</li>
</ul></li>
</ul>
</body>
</html>
我的标题中有这个简单li
的菜单。我只是想添加子列表,就像我点击about
子列表时应该显示的那样。我该怎么做?
解决方案
About
您可以通过更改其display
属性使其最初隐藏并在单击时显示它(display: none
使其隐藏并display: block
显示它)。
<!DOCTYPE html>
<html>
<body>
<ul>
<li><a href="#home">Home</a></li>
<li><a href="#news">News</a></li>
<li><a href="#contact">Contact</a></li>
<li><a href="#about" onClick="showAbout()">About</a>
<ul style="display: none;" id="about">
<li>profile</li>
<li>details</li>
</ul>
</li>
</ul>
<script>
function showAbout() {
document.getElementById("about").style.display = "block";
}
</script>
</body>
</html>
如果要切换About
子菜单的可见性,可以在每次单击时检查子菜单的display
属性。About
About
<!DOCTYPE html>
<html>
<body>
<ul>
<li><a href="#home">Home</a></li>
<li><a href="#news">News</a></li>
<li><a href="#contact">Contact</a></li>
<li><a href="#about" onClick="showAbout()">About</a>
<ul style="display: none;" id="about">
<li>profile</li>
<li>details</li>
</ul>
</li>
</ul>
<script>
function showAbout() {
var about = document.getElementById("about");
if (about.style.display === "none") {
about.style.display = "block";
} else {
about.style.display = "none";
}
}
</script>
</body>
</html>
推荐阅读
- php - 在“[||]”之后在php中替换字符串
- vba - 无法在 selenium vba 脚本中使用代理
- docker - Caddy 不转发代理
- java - 无法运行肥皂网络服务
- c# - 我的 Asp.net 核心应用程序显示 System.stackoverflow 异常
- javascript - Javascript - 迭代嵌套数组
- typescript - 打字稿错误:“元素隐式具有'任何'类型,因为类型'错误'没有索引签名”
- javascript - 创建基于参数的jQuery插件
- java - 为什么 javac 不能对带有有界类型参数作为返回类型的静态方法的调用站点进行类型检查?
- python - 模块导入中的点(python 3.x)