我试图用javascript来隐藏和显示一个基于复选框状态的div,但是我似乎没有得到正确的结果。我对js不是很有经验,所以我可能会遗漏一些非常明显的东西。任何建议都将不胜感激。目标div是html代码的后半部分中的开启切换div。
var checkbox = document.querySelector("input[name=toggle]");
checkbox.addEventListener( 'change', function() {
if(this.checked) {
document.getElementById("on-toggle").style.display = "block";
document.getElementById("on-toggle").style.height = "auto";
} else {
document.getElementById("on-toggle").style.display = "none";
document.getElementById("on-toggle").style.height = "0";
}<div id="switch">
<h2 id="CTA-switch">Turn creativity on </h2>
<div class="switch">
<input type="checkbox" name="toggle">
<label for="toggle">
<i class="bulb">
<span class="bulb-center"></span>
<span class="filament-1"></span>
<span class="filament-2"></span>
<span class="reflections">
<span></span>
</span>
<span class="sparks">
<i class="spark1"></i>
<i class="spark2"></i>
<i class="spark3"></i>
<i class="spark4"></i>
</span>
</i>
</label>
</div>
</div>
<div id="on-toggle">
<div id="references">
<h1>REFERENCE SITES</h1>
</div>
</div>
</div>
发布于 2020-04-21 02:58:16
你需要抓取一个实际的元素,这样你的javascript代码才能工作。您的html代码中的任何元素当前都不存在id " on -toggle“。
https://stackoverflow.com/questions/61329813
复制相似问题