javascript - 为什么从 div onclick 添加和删除类不起作用?
问题描述
我正在尝试这样做:单击 a>
以显示列表和 a V
,再次单击以关闭列表并更改V
回>
. 这是我的代码
function toggle() {
var toggleClosed = $(this).find(".toggle-closed");
var toggleOpened = $(this).find(".toggle-opened");
if (!$(toggleClosed).is(":visible")) {
toggleClosed.removeClass('toggle-opened').addClass('toggle-closed');
toggleOpened.removeClass('toggle-closed').addClass('toggle-opened');
} else {
$(toggleClosed).addClass('toggle-closed').removeClass('toggle-opened');
$(toggleOpened).addClass('toggle-opened').removeClass('toggle-closed');
}
}
.form-row-filter {
background-color: grey;
}
.toggle-opened {
cursor: pointer;
display: block;
}
.toggle-closed {
cursor: pointer;
display: none;
}
.material-icons {
margin-right: -4px;
margin-left: 4px;
vertical-align: middle;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="form-row-filter" style="display:inline-block">
<ul>
<div class="material-icons toggle-opened" onclick="toggle()">></div>
<div class="material-icons toggle-closed" onclick="toggle()">V</div>
<li class="toggle-closed">
company a
</li>
<li class="toggle-closed">
company b
</li>
</ul>
</div>
这是一个代码笔:
https://codepen.io/thinkvantagedu/pen/MNORvZ?editors=1100
为什么不添加或删除类?
解决方案
这是您修复的代码:https ://codepen.io/anon/pen/BXmgdo
错误在JS中:
function toggle () {
var toggleClosed = $('.toggle-closed');
var toggleOpened = $('.toggle-opened');
toggleClosed.removeClass('toggle-closed').addClass('toggle-opened');
toggleOpened.removeClass('toggle-opened').addClass('toggle-closed');
}
推荐阅读
- sql - 数百万行的 Enterprise Postgresql 查询性能
- amazon-product-api - Amazon API——如何获取特定用户的所有评论
- swift - 自定义 UIView 类中的 Swift 设置变量
- android - 我如何禁用特定日期
- xml - SSRS 动态 XML 数据源连接字符串可能吗?
- c# - 如何在 ASP.Net 核心 2.1 Web API 中将控制器视图作为默认页面?
- amazon-cloudformation - CloudFormation - SAM 模板的结构无效。“资源”部分是必需的
- excel - 如何根据上一年的值在 Excel 中使用 MDX 使用加权分配?(在 SSAS 中写回)
- html - 如何删除引导程序 4 按钮单击效果
- android - 无法解决:support-compat ONLY FOR :27.1.1