我有一个包含带有内容的div的按钮。单击div时,我希望展开折叠的内容。就像我喜欢的那样,将鼠标悬停在div上方时,它会更改颜色,并且指针也会更改。但是,单击时没有任何反应:折叠的内容不会扩展。我的代码有什么问题?
var coll = document.getElementsByClassName("contents");
var i;
for (i = 0; i < coll.length; i++) {
coll[i].addEventListener("click", function() {
this.classList.toggle("active");
var collapse = this.nextElementSibling;
if (collapse.style.display === "block") {
collapse.style.display = "none";
} else {
collapse.style.display = "block";
}
});
}
<div class="results">
<button type="button" class="contents">
<div class="info">
...
</div>
</button>
<div class="collapse">
<p>Text only shown when expanding</p>
</div>
</div>
答案 0 :(得分:0)
最好使用jQuery作为客户端框架,以获得更好的性能,跨浏览器和更少的代码行。
您可以为项目使用$('.collapse').slideToggle()
功能。 Documentation
答案 1 :(得分:0)
好的...当我将script标签放在末尾而不是头部的时候,它就起作用了!