如何使用jquery在两个元素之间切换类
How to toggle class between two element using jquery?
我有相应的列表,其中一个列表总是打开的。单击按钮时如何切换活动类?
<ul class="accordion one-open">
<li class="active">
<div class="title">Title 1</div>
<div class="content">Content 1</div>
</li>
<li>
<div class="title">Title 2</div>
<div class="content">Content 2</div>
</li>
</ul>
<button>Toggle the content </button>
使用jquery的.toggleClass("active")
并检查以下代码段。
$(document).ready(function(){
$("#toggel_class").on('click',function(){
$("ul li").toggleClass("active");
});
});
.active { color: red }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="accordion one-open">
<li class="active">
<div class="title">Title 1</div>
<div class="content">Content 1</div>
</li>
<li>
<div class="title">Title 2</div>
<div class="content">Content 2</div>
</li>
</ul>
<button id="toggel_class">Toggle the content </button>
$("button").on("click", function() {
$("li").toggleClass("active");
});
这将在单击按钮时切换类:https://jsfiddle.net/mqhyLohe/
尝试查看JavaScript classList.thoggle(((与IE9及更低版本不兼容(。否则,请查看jQuery UI(如果jQuery是您想要漫游的路径(。
检查是否工作
$(".accordion li").click(function(){
$("li").removeClass('active');
$(this).addClass('active');
});
你必须给你的列表一个id
$("#item1").click(function(){
$(".active").removeClass("active");
$(this).addClass("active")
});
我也遇到过同样的问题。使用图标解决了问题。请参考此处的答案
这是我以前用过的:
if($(this).text() == "-")
{
$(this).text("+");
}
else {
$('#accordion .opener').text("+");
$(this).text("-");
}
});
相关文章:
- 两个指令创建新的继承的和隔离的作用域-元素得到哪个
- 如何在jQuery中包装两个元素的组
- JavaScript:当有两个B类元素时,如何在id X中的B类中选择A类
- 无法使以下ng on click outside指令在同一页面上的两个元素上工作
- Jquery:当两个或多个条件为true时,选择一个元素
- 如何按id查找两个类中任一类的子元素
- react-让一个元素返回两个相邻的<tr>标签
- 检查来自不同数组的两个元素的一个属性是否相等
- javascript函数包含两个元素和web音频api
- 如何比较两个字符串并删除jquery中的元素
- 将JQuery单击事件直接指向同一元素的两个
- 如何使用jQuery绕过具有指定类和两个条件的元素的函数
- 使用Javascript匹配两个HTML元素的高度
- 如何在两个动画画布元素之间进行通信
- 如何将日期和时间拆分为两个元素
- 检查最后两个元素
- 如何选择嵌套了两个 .each() 函数的多个元素
- 在两个元素的 onrender 事件之后执行函数
- 检查两个或多个 DOM 元素是否重叠
- 如何在同一个表中显示这两个嵌套ng重复的元素