javascript - jQuery 类标签删除
问题描述
它是一个选项卡,活动选项卡有一个红点,非活动选项卡有一个灰点,但是当我单击灰点时,它会变成红色所有点(删除所有非活动类)。为什么会这样?
<div id="tabs">
<div class="dots">
<div class="dot"></div>
<p id="tab1" class="menu">Profile</p>
</div>
<div class="dots">
<div class="dot"></div>
<p id="tab2" class="menu">The Dic Approach</p>
</div>
<div class="dots">
<div class="dot"></div>
<p id="tab3" class="menu">The partners</p>
</div>
</div>
<div class="container" id="tab1C">1Some content</div>
<div class="container" id="tab2C">2Some content</div>
<div class="container" id="tab3C">3Some content</div>
Javascript
$(document).ready(function() {
$("#tabs .dots .dot:not(:first)").addClass("inactive");
$('.container').hide();
$('.container:first').show();
$("#tabs .dots .menu").click(function(){
var t = $(this).attr("id");
if($(".dot").hasClass("inactive")){
$(".dot").addClass("inactive");
$(".dot").removeClass("inactive");
$(".container").hide();
$("#" + t + "C").fadeIn("slow");
}
})
});
解决方案
如果你改变
$(".dot")
至
$(this).closest(".dots").find(".dot")
(或类似的)然后它将使用与当前单击的菜单匹配的点
更新片段:
$("#tabs .dots .dot:not(:first)").addClass("inactive");
$('.container').hide();
$('.container:first').show();
$("#tabs .dots .menu").click(function(){
var t = $(this).attr("id");
var dot = $(this).closest(".dots").find(".dot");
if (dot.hasClass("inactive")){
$(".dot").addClass("inactive");
dot.removeClass("inactive");
$(".container").hide();
$("#" + t + "C").fadeIn("slow");
}
})
.dot { color: red; float:left; }
.dot.inactive { color: #CCC; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="tabs">
<div class="dots">
<div class="dot">[.]</div>
<p id="tab1" class="menu">Profile</p>
</div>
<div class="dots">
<div class="dot">[.]</div>
<p id="tab2" class="menu">The Dic Approach</p>
</div>
<div class="dots">
<div class="dot">[.]</div>
<p id="tab3" class="menu">The partners</p>
</div>
</div>
<div class="container" id="tab1C">1Some content</div>
<div class="container" id="tab2C">2Some content</div>
<div class="container" id="tab3C">3Some content</div>
推荐阅读
- c++ - CMake 全局包含标头
- c# - 如何使用 Pomelo.entityFrameworkcore.MySQL 在运行时更改 .NetCore 3.1 WPF 的 MySQL 连接字符串?
- ios - iOS appClip 状态收到了吗?
- python - While 循环在 Python 中无法正常工作
- javascript - 如果选中,如何制作复选框将转到 javascript 中的已完成书
- kantu - 在 HAPROXY 如何使用具有相同端口的不同 tlsv 用于不同的 url
- c++ - 如何找到由于删除构建序列中的某些文件而导致的构建错误
- node.js - Amazon DynamoDB 客户端 - 开发工具包 V3.0:查询中的 SerializationException
- css - Wordpress Css 儿童主题对更改没有影响
- python - 手动 Python 插值