【发布时间】:2020-08-07 13:17:49
【问题描述】:
我对具有多个类的 div 的显示/隐藏功能有疑问
所以我有 4 个按钮和 4 个类,并且我知道如何显示/隐藏只有一个类的 div...
<button id="button1"></button>
<button id="button2"></button>
<button id="button3"></button>
<button id="button4"></button>
<div class="class1"></div>
<div class="class2"></div>
<div class="class3"></div>
<div class="class4"></div>
但是,如果 div 有多个类:
<div class="class1 class2"></div>
以下脚本不起作用..
<script>
$(document).ready(function(){
$("#button1").click(function(){
$(".class1").show();
$(".class2").hide();
$(".class3").hide();
$(".class4").hide();
});
$("#button1").click(function(){
$(".class1").hide();
$(".class2").show();
$(".class3").hide();
$(".class4").hide();
});
$("#button3").click(function(){
$(".class1").hide();
$(".class2").hide();
$(".class3").show();
$(".class4").hide();
});
$("#button4").click(function(){
$(".class1").hide();
$(".class2").hide();
$(".class3").hide();
$(".class4").show();
});
</script>
另外,我可以以某种方式编写它,而不必编写我想隐藏的每个 div 吗?
.hasClass show()
else hide()
因为将来我可能有 20 节课或更多...
对不起,我是初学者:)
【问题讨论】:
-
最小的工作剪断会很好。
-
定义“不起作用”?哪个特定操作产生了意想不到的结果?那是什么结果?预期的结果是什么?为什么?你的元素有多少个类没有区别。 (可能需要您更改逻辑,但不会更改
show和hide函数的功能。) -
不起作用 - 意味着如果我有一个包含多个类 class="class1 class2 class3" 的 div,那么它只需要最后一个类,这意味着只有 button3 工作并使 class3 可见..按钮 1 和 2 不显示元素...
-
我开发了一种解决方法,为具有多个类的项目提供单独的类 - class="class1-class2" 并具有额外的值,例如 $(".class1-class2").show(); - 这是非常丑陋的临时解决方案
标签: javascript show-hide