jquery - 在 DOM 中隐藏和显示嵌套元素
问题描述
我有以下标记,我想根据提供的类隐藏/显示 div。下面是我在 DOM 中某处的标记。您能否提供这样做的方法。有内容可用的选项卡面板,基于 id myId1 或 myId2,选项卡面板的适当 div 应该隐藏和显示。
<div id="tabs">
<div class="hader-tabing">
<nav>
<div id="nav-tab">
<ul class="nav nav-tabs">
<li><a href="#myId1"></li>
<li><a href="#myId2"></li>
</ul>
</div>
</nav>
</div>
<!-- tabs start -->
<div class="tab-content">
<!-- part 1 Will execute 2 times as per filters-->
<div role="tabpanel" class="tab-pane active" id="myId1">
<div class="row">
<div class="col-xs-5ths ">
<div class="dark-box-outer">
<div class="top-light-text-box">
<div class="inner-tab-box ">
<div class="tab-content">
<div role="tabpanel" class="tab-pane myId1 " >
//content
</div>
<div role="tabpanel" class="tab-pane myId1 ">
// content
</div>
<div role="tabpanel" class="tab-pane myId2 ">
// content
</div>
<div role="tabpanel" class="tab-pane myId2 ">
// content
</div>
... n times
</div>
</div>
</div>
<div class="top-light-text-box">
// similar type of markup as above
</div>
<div class="top-light-text-box">
// similar type of markup as above
</div>
</div>
</div>
<div class="col-xs-5ths ">
// content
</div>
... n times
</div>
</div>
<div role="tabpanel" class="tab-pane active" id="myId2">
// same markup will repeated as above
</div>
</div>
</div>
解决方案
你可以这样做......使用jquery,
$('ul.nav.nav-tabs>li>a').click(function(){
var curtab = $(this).attr('href').substring(1);
$('.tab-content .tab-pane').each(function(){
var tabid = this.className;
if(tabid.indexOf(curtab) > -1){
$(this).siblings().hide();
$(this).show();
}
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="tabs">
<div class="hader-tabing">
<nav>
<div id="nav-tab">
<ul class="nav nav-tabs">
<li><a href="#myId1">ID1</li>
<li><a href="#myId2">ID2</li>
</ul>
</div>
</nav>
</div>
<!-- tabs start -->
<div class="tab-content">
<!-- part 1 Will execute 2 times as per filters-->
<div role="tabpanel" class="tab-pane active" id="myId1">
<div class="row">
<div class="col-xs-5ths ">
<div class="dark-box-outer">
<div class="top-light-text-box">
<div class="inner-tab-box ">
<div class="tab-content">
<div role="tabpanel" class="tab-pane myId1 " >
//content ID1
</div>
<div role="tabpanel" class="tab-pane myId1 ">
// content ID1
</div>
<div role="tabpanel" class="tab-pane myId2 ">
// content ID2
</div>
<div role="tabpanel" class="tab-pane myId2 ">
// content ID2
</div>
... n times
</div>
</div>
</div>
<div class="top-light-text-box">
// similar type of markup as above
</div>
<div class="top-light-text-box">
// similar type of markup as above
</div>
</div>
</div>
<div class="col-xs-5ths ">
// content
</div>
... n times
</div>
</div>
<div role="tabpanel" class="tab-pane active" id="myId2">
<div class="row">
<div class="col-xs-5ths ">
<div class="dark-box-outer">
<div class="top-light-text-box">
<div class="inner-tab-box ">
<div class="tab-content">
<div role="tabpanel" class="tab-pane myId1 " >
//content ID1
</div>
<div role="tabpanel" class="tab-pane myId1 ">
// content ID1
</div>
<div role="tabpanel" class="tab-pane myId2 ">
// content ID2
</div>
<div role="tabpanel" class="tab-pane myId2 ">
// content ID2
</div>
... n times
</div>
</div>
</div>
<div class="top-light-text-box">
// similar type of markup as above
</div>
<div class="top-light-text-box">
// similar type of markup as above
</div>
</div>
</div>
<div class="col-xs-5ths ">
// content
</div>
... n times
</div>
</div>
</div>
</div>
推荐阅读
- html - Chrome Devtools 移动响应视图显示错误的大小
- javascript - 如何根据单选按钮输入取消隐藏隐藏按钮并隐藏其他按钮?
- c++ - 基于共同属性配对两个对象
- python - 如何在python中读取bmp
- javascript - 在离子范围滑块中需要帮助
- javascript - 动态更改静态网站上的文本和图像
- firebase - Firebase 云功能:如何等待文档创建并随后更新
- amazon-web-services - Logs Insights 中的 AWS CloudWatch 过滤器 @LogStream
- c++ - 在 Visual Studio 中的选定文本上添加闪烁效果、文本颜色和背景文本颜色
- reactjs - 使用 useRef 时在 Safari 中反应表单引用问题