我在删除标记class="active"
中的属性li
时遇到问题。
我在标记<li>
中有2个类。
一个是:活跃,
另一个是:下拉
但我只想删除之前的class="active"
,并在点击它时将其添加到代码<li>
。
但是当我删除时,class="dropdown"
也被删除了。
我知道我的代码有问题,但我不知道如何修复它。
任何人都可以帮助我:)。
抱歉,因为我的英语不好:)
HTML
<ul class="nav nav-justified">
<li class="active"><a href="#">Home</a></li>
<li><a href="#">Projects</a></li>
<li><a href="#">Services</a></li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">
Dropdown
<span class="caret"></span>
</a>
<ul class="dropdown-menu" role="menu">
<li>Hoai Thy</li>
<li>My Huyen</li>
</ul>
</li>
<li><a href="#">About</a></li>
<li><a href="#">Contact</a></li>
</ul>
的Javascript
$(document).ready(function(){
$('.dropdown-toggle').dropdown()
$(".nav-justified li").each(function(){
$(this).click(function(){
$(".nav-justified li").removeAttr();
$(this).attr("class","active");
});
});
});
答案 0 :(得分:3)
基于toggleClass
的答案已经发布。 Alterntivate是删除和添加类,但是在jQuery中通过removeClass
和addClass
执行,而不是通过attr执行。可能有其他(纯粹的演示)类要保持不变。
$(".nav-justified li").click(function(){
$(".nav-justified li").removeClass('active');
$(this).addClass("active");
});
此外,您不需要.each()
- .click(function(){})
将事件绑定到集合中的所有元素
答案 1 :(得分:1)
使用toggleClass()代替删除属性并再次添加属性:
$(".nav-justified li").toggleClass('active');
removeAttr()方法不会删除类名,但会删除整个属性。
答案 2 :(得分:0)
使用.removeClass()
删除class.also使用.addClass()
添加类active.Try this:
$(this).click(function(){
$(".nav-justified li.active").removeClass('active');
$(this).addClass("active");
});
答案 3 :(得分:0)
这对你有用。
$(".nav-justified li").each(function(){
$(this).toggleClass('active')
});