javascript - Jquery通过CSS添加和删除类
问题描述
希望你一切顺利
所以,我缩短故事,这里我们有一个按钮,我想响应并检查:如果标签有这些类之一,那么用另一个改变它
我该怎么做?
function bt1Func() {
if ($("#funcp").hasClass('unhidden-pr')) {
$("#funcp").addClass("hidden-pr");
}
if ($("#funcp").hasClass("hidden-pr")) {
$("#funcp").addClass("unhidden-pr");
}
}
.hidden-pr {
display: none;
}
.unhidden-pr {
display: flex;
}
#funcp {
text-align: center;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button onclick="bt1Func()" id="bt1" class="activate style-a">Pizza</button>
<div class="container-men">
<p id="funcp">hi</p>
</div>
解决方案
大声读出你的代码。
如果funcp 有类unhidden-pr,添加类hidden-pr,如果funcp 有类hidden-pr 添加unhidden-pr。
所以你真的应该使用一个else if
或只是else
。您也没有删除课程。
function bt1Func() {
if ($("#funcp").hasClass('unhidden-pr')) {
$("#funcp").addClass("hidden-pr").removeClass("unhidden-pr");
} else {
$("#funcp").addClass("unhidden-pr").removeClass("hidden-pr");
}
}
.hidden-pr {
display: none;
}
.unhidden-pr {
display: flex;
}
#funcp {
text-align: center;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button onclick="bt1Func()" id="bt1" class="activate style-a">Pizza</button>
<div class="container-men">
<p id="funcp" class="hidden-pr">hi</p>
</div>
最后,您只是在重新发明切换类
function bt1Func(){
$("#funcp").toggleClass('hidden-pr unhidden-pr');
}
.hidden-pr {
display: none;
}
.unhidden-pr {
display: flex;
}
#funcp {
text-align: center;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button onclick="bt1Func()" id="bt1" class="activate style-a">Pizza</button>
<div class="container-men">
<p id="funcp" class="hidden-pr">hi</p>
</div>
但是如果你正确编写你的 CSS,你真的只需要切换一个类
function bt1Func(){
$("#funcp").toggleClass('active');
}
.pr {
display: none;
}
.pr.active {
display: flex;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button onclick="bt1Func()" id="bt1" class="activate style-a">Pizza</button>
<div class="container-men">
<p id="funcp" class="pr">hi</p>
</div>
推荐阅读
- sql-server - SQL Server 中的存储过程(变量声明)
- php - 如何从 PHP 调用 SoapServer
- mysql - MySQL时间序列数据分区
- node.js - Linux 上 node.js 应用程序中的操作系统用户身份验证
- java - 使用 Smack 客户端 API 进行 XMPP 负载测试
- db2 - 在 bluemix 云上访问 dashdb 的日志
- python - 如何使用 Python 读取带有 NULL 字符的二进制文件
- javascript - 如何将文件上传与尚未创建的表单提交相关联?
- javascript - KendoDropDownList 默认选择值在控制器上无法正常工作
- ffmpeg - 使用 ffmpeg 合并 mp4 文件(按顺序)