javascript - 按钮充当复选框并更改样式?
问题描述
在我的任务中,我只被允许使用一个按钮,所以没有复选框。单击按钮,显示某些信息。我的代码正在运行,但我的问题是如何让类显示:无,再次单击按钮时?有点像拨动?
const displayScores = (e) => {
if (
(e.target.parentNode.querySelector(
".display-score-container"
).style.display = "none")
) {
e.target.parentNode.querySelector(
".display-score-container"
).style.display = "block";
e.target.innerHTML = "-";
} else {
e.target.parentNode.querySelector(
".display-score-container"
).style.display = "none";
e.target.innerHTML = "+";
}
};
return (
<div className="student-container">
<img className="student-img" src={students.pic} />
<div className="student-column">
<p className="student-item">
{" "}
{students.firstName} {students.lastName}
</p>
<p className="student-item">Email: {students.email}</p>
<p className="student-item">Company: {students.company}</p>
<p className="student-item">Skill: {students.skill}</p>
<p className="student-item">Average: {average}%</p>
<div className="display-score-container">
<p className="student-score">
Test 1:{" "}
<p className="student-percentage">{students.grades[0]}%</p>
</p>
</div>
</div>
<button
onClick={displayScores}
className="expand-btn"
>
+
</button>
)
解决方案
您可以为此使用“活动”类或某个类,并为该特定类名编写 css。单击时将该类添加到按钮并切换值。并将条件放在您添加的类上 if (active){..} else{..}。
推荐阅读
- spring-boot - 来自触发器的异常映射 - spring-boot 2.4.x + jOOQ
- javascript - 如何显示 Wifi 列表 Promise 值 React Native
- mysql - 为什么我已经添加了两行,MySql 会抛出错误 1242?
- java - 将单引号(')替换为整个 XML 文件中的双引号的 JAVA 代码片段
- swift - didSelectRowAt 中的长按操作
- java - Java Micronaut - 在我多次点击端点后抛出“javax.net.ssl.SSLHandshakeException”
- python - Flask 应用不注册 jwt.user_lookup_loader,Flask-JWT-Extended
- flutter - 如何减少这个小部件之间的差距?我尝试调整填充值,但到目前为止没有运气。请看一下
- sql - SQLite,LIKE 列名
- python - 附加来自不同文件的数组并将列插入数据