【发布时间】:2021-07-22 12:34:17
【问题描述】:
按钮可以显示,但显示后不能隐藏元素。你能告诉我哪里错了吗?
document.querySelector('.btn1').onclick = function(e) {
let a = document.querySelector('.btn1content')
if (a.style.display = ('none')) {
a.style.display = ('block')
} else {
a.style.display = ('none')
}
}
.btn1content {
display: none;
}
<button class="btn1" BUTTON</button>
<p class="btn1content">Lorem ipsum</p>
【问题讨论】:
-
在您的
if/else中,您使用的是赋值运算符=,而不是等于。试试if(a.style.display == ('none')) {...}。供参考:developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/… -
1) 第一个
=应该是==- 2) 初始状态将是""而不是"none",考虑到这一点或使用getComputedStyle -
为什么所有这些不必要的
( )?为什么没有分号? -
把
class="btn1"BUTTON改成class="btn1">BUTTON,把a.style.display = ('none')改成这个a.style.display === 'none' -
@Andreas:同意括号,但分号是个人风格的问题(一些风格指南,如standardjs.com 也不使用它们)
标签: javascript html css