【发布时间】:2020-12-17 05:18:14
【问题描述】:
我正在尝试使用 javascript 制作一个可折叠的 div,您可以在其中使用 href="#one" 标签导航和打开可折叠的 div。我尝试将 href 放在 div 内,但没有结果。我也尝试过制作
里面的 div 到一个锚文本,但仍然没有成功。但是我做的折叠不会在标签上打开,只能导航到它的区域,同时仍然被隐藏。
<div class="box" id="one "> <h1> Object One </h1> </div>
<button type="button" class="collapsible" > <a href="#one"> Read more </a> </button>
<div class="content" href="#one">
<p> Lorem ipsum dolor sit amet, consectetur adi
pisicing elit, sed do eiusmod tempor incidid
unt ut labore et dolore magna aliqua. Ut enim ad mini
m veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
</div>
javascript
var coll = document.getElementsByClassName("collapsible");
var i;
for (i = 0; i < coll.length; i++) {
coll[i].addEventListener("click", function() {
this.classList.toggle("active");
var content = this.nextElementSibling;
if (content.style.display === "block")
{
content.style.display = "none";
} else {
content.style.display = "block";
}
});
}
Jsfiddle:https://jsfiddle.net/wbyux172/1/
希望我能得到一些帮助:)
【问题讨论】:
-
您不能将
a嵌套到button中,这本来就是无效的HTML。 Div 没有href属性。而且我不明白该属性的相关性应该是什么?您没有使用它来选择任何元素。 -
是的,我明白这一点,这就是它不起作用的原因。问题是:这样做的正确方法是什么?当有人访问 website.com/#one 时,我该如何做到这一点,他们会被导航到折叠(打开)的 div?
标签: javascript html css collapse