[英]Show hide element on same button click
我有以下示例代码 :
代码HTML:
<ul>
<li class="item"> item 1 </li>
<li class="item"> item 1 </li>
<li class="item"> item 1 </li>
<li class="item"> item 1 </li>
<li class="item hidden"> item 1 </li>
<li class="item hidden"> item 1 </li>
</ul>
<button class="button">Show/Hide element</button>
代码CSS:
.hidden {
display: none;
}
.visible {
display: block;
}
代码JS:
$('.button').on('click', function (e) {
var item = $('.item');
item.removeClass('hidden');
});
我想类添加.visible
对以前具有的元素.hidden
类。 基本上,我想在下次单击时再次隐藏项目,并切换类。
如何隐藏最后两个项目?
提前致谢!
您需要使用.toggle()
$('.button').on('click', function (e) {
$('.hidden').toggle('visible');
});
试试这个,不需要css,只需.toggle()就能做到。
$('.button').on('click', function (e) { $('.hidden').toggle(); });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <ul> <li class="item"> item 1 </li> <li class="item"> item 1 </li> <li class="item"> item 1 </li> <li class="item"> item 1 </li> <li class="item hidden"> item 1 </li> <li class="item hidden"> item 1 </li> </ul> <button class="button">Show/Hide element</button>
另外,您也可以使用以下方法:
CSS
.hidden {
display:none;
}
JQuery的
$('.button').on('click', function (e) {
$('#anyElement').toggleClass('hidden');
});
或者,您可以单击按钮并遍历每个元素,然后删除/添加相关的类。
$("button").click(function(){ $("li").each(function(){ let $this = $(this); if($this.hasClass('hidden')){ $this.removeClass("hidden").addClass("visible"); } else if($this.hasClass('visible')){ $this.removeClass("visible").addClass("hidden"); } }) })
.hidden { display: none; } .visible { display: block; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <ul> <li class="item"> item 1 </li> <li class="item"> item 1 </li> <li class="item"> item 1 </li> <li class="item"> item 1 </li> <li class="item hidden"> item 1 </li> <li class="item hidden"> item 1 </li> </ul> <button class="button">Show/Hide element</button>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.