我点击列表并在列表中单击它切换类active
但是当我点击不同的元素时,前面的元素仍然包含active
类
<ul>
<li class="click_me">Here </li>
<li class="click_me">Here </li>
<li class="click_me">Here </li>
<li class="click_me">Here </li>
</ul>
$(document).ready(function()
{
$('.click_me').click(function()
{
$.each(function()
{
$('.click_me').toggleClass('active');
});
$(this).toggleClass('active');
});
});
<style>
.active
{
background-color: red;
}
</style>
我想要的是,当我点击不同的li
元素时,必须切换出前一个li
的{{1}}类。抱歉英文不好!
我尝试添加每个循环,但它不起作用。
答案 0 :(得分:3)
要实现此功能,您只需要从已经拥有它的任何元素中删除.active
类,不包括应切换的当前元素。试试这个:
$('.click_me').click(function() {
$('.active').not(this).removeClass('active');
$(this).toggleClass('active');
});
.active {
background-color: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li class="click_me">Here</li>
<li class="click_me">Here</li>
<li class="click_me">Here</li>
<li class="click_me">Here</li>
</ul>
答案 1 :(得分:2)
$('ul').on('click', '.click_me', function(){
$(this).toggleClass('active').siblings().removeClass('active'); // <--- The trick!
})
.active{ background:lightblue; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li class="click_me active">Click here</li>
<li class="click_me">Click here</li>
<li class="click_me">Click here</li>
<li class="click_me">Click here</li>
</ul>
应该这样做!
答案 2 :(得分:1)
const loginRoute = require('./routes/login');
app.use('/', loginRoute);
答案 3 :(得分:1)
试试这个。
从所有li元素中删除该类,不包括单击元素上的单击元素和切换类。
$(document).ready(function()
{
$('.click_me').click(function()
{
$("li.active").not(this).removeClass('active');
$(this).toggleClass("active");
});
});
&#13;
.active
{
background-color: red;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li class="click_me">Here </li>
<li class="click_me">Here </li>
<li class="click_me">Here </li>
<li class="click_me">Here </li>
</ul>
&#13;
答案 4 :(得分:1)
试试这个。它应该工作!所有答案都有效!
$('.click_me').click(function()
{
$('.click_me.active').removeClass('active');
$(this).addClass('active');
});