javascript - 如何使用关闭按钮创建这个多动态 id 特定的手风琴?
问题描述
我想制作手风琴。当我单击“显示”时,我希望隐藏文本“显示”并显示内容和“关闭”按钮。当我单击“关闭”时,我想隐藏内容和“关闭”按钮并显示“显示”按钮。
每个文本都必须在 HTML 中,而不是在 JS 中。但我将它连接到 Wordpress 动态 id 帖子以在索引页面上显示和隐藏更多内容。
这是我的尝试,但“关闭”按钮不起作用。
这必须适用于多个 id 项目,因为我将其连接到 Wordpress 索引帖子页面。
我可以添加更改这些显示/关闭按钮的类吗?我想如果我单击“显示”按钮的父级,另一个元素更改类,如果我单击“关闭”按钮的父级,另一个元素更改类?
var $contents = $('.tab-content');
$contents.slice().hide();
$('.tab').click(function() {
var $target = $('#' + this.id + 'show').show();
$contents.not($target).hide();
});
.tab {
background: red;
max-width: 100px;
cursor: pointer;
}
.close {
border: 1px solid red;
max-width: 100px;
cursor: pointer;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="tab1" class="tab">Show 1</div>
<div id="tab1show" class="tab-content">
content 1
<div class="close">close</div>
</div>
<br><br><br>
<div id="tab2" class="tab">Show 2</div>
<div id="tab2show" class="tab-content">
content 2
<div class="close">close</div>
</div>
解决方案
.close
为此添加一个事件。
var $contents = $('.tab-content');
$contents.slice().hide();
$('.tab').click(function() {
var $target = $('#' + this.id + 'show').show();
$(this).hide();
});
$('.close').click(function(){
$(this).parent().hide();
let parentId = $(this).parent().attr('id');
parentId = parentId.replace('show','');
$('#'+parentId).show();
});
.tab {background:red; max-width:100px; cursor: pointer;}
.close {border: 1px solid red; max-width:100px; cursor: pointer;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="tab1" class="tab">Show 1</div>
<div id="tab1show" class="tab-content">
content 1
<div class="close">close</div>
</div>
<br><br><br>
<div id="tab2" class="tab">Show 2</div>
<div id="tab2show" class="tab-content">
content 2
<div class="close">close</div>
</div>
<br><br><br>
推荐阅读
- reactjs - React native - TypeError:未定义不是评估_useContext的对象
- html - 离子,HTML 数组
- terraform - 如果 Terraform 的条件
- domain-driven-design - DDD + CQRS + ES:实体或 dto 可以成为命令的一部分吗?
- javascript - 将事件侦听器添加到表格单元格内的类
- javascript - 如何防止我的表单的只读字段数据?
- python - 我正在使用 PIL 将大型 HDF 文件传输到 tiff 堆栈,但遇到代码问题
- java - 如何在firebase数据库中获取嵌套键
- swift - Swift中引用类型变量的困惑
- python - 拆分多列