$('.active').click(function() {
$(this).toggleClass('active');
$(this).toggleClass('active');
});
我知道这是完全错的,但我是新人并且正在努力学习;我要做的是切换<li>
onclick()
的活跃课程真的很感激任何帮助。三江源。
<ul class="nav nav-tabs">
<li role="presentation" onclick="toggleClass();">Hi</li>
</ul>
答案 0 :(得分:1)
我认为您应该将$('.active').click(function())
点击为
li
$( "li" ).click(function() {
$(this).toggleClass("active");
});
答案 1 :(得分:1)
以下是关于如何使用.toggleClass 的说明link。
toggleClass:在匹配元素集中的每个元素中添加或删除一个或多个类,具体取决于类的存在或状态参数的值。
$('li').click(function() {
$(this).toggleClass('active');
})
ul li{
float: left;
margin-right: 20px;
}
.active {
background: #69a;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li> Link A</li>
<li>Link B</li>
</ul>
答案 2 :(得分:1)
您需要创建一个函数toggleClass
<强> JS 强>
创建一个新函数toggleClass,它将接受当前单击的元素
function toggleClass(elem) {
$(elem).toggleClass('active');
};
<强> HTML 强>
将toggleClass
函数添加到onclick
处理程序&amp;将当前元素作为参数传递
<li role="presentation" onclick="toggleClass(this);">Hi</li>
<强> CSS 强>
创建课程.active
.active {
background: yellow;
}
答案 3 :(得分:0)
您需要做的是将所有其他元素的类设置为非活动状态
$('.active').className = 'inactive';
$(this).className = 'active';
该顶部表达式将影响具有该类的所有元素,而底部表达式将更改当前单击的元素。
答案 4 :(得分:0)
试试这个:
$("nav li").click(function() {
$(this).toggleClass("active");
});
仅适用于<li>
类
active
元素
$("nav li.active").click(function() {
$(this).toggleClass("active");
});
答案 5 :(得分:0)
这不是Bootstrap应该如何工作的。如果您使用的是bootstrap,请使用其tab js组件。更多信息here
基本上你在这些LI标签上添加一个监听器:(来自文档)
$('.nav.nav-tabs li').click(function (e) {
e.preventDefault()
$(this).tab('show')
})
你做的方式是,你把状态翻了两次,最后保持不变。