CSS jQuery的变化类样式
问题描述:
$("#menu li").click(function() {
$("#menu .active").removeAttr("class");
$(this).attr("class","active");
});
<div id="menu">
<ul>
<li id="m1" class="active"><a>link 1</a></li>
<li id="m2"><a>link 1</a></li>
<li id="m3"><a>link 2</a></li>
<li id="m4"><a>link 3</a></li>
<li id="m5"><a>link 4</a></li>
<li id="m6"><a>link 5</a></li>
<li id="m6"><a href="">link 6</a></li>
<li id="m7"><a href="">link 7</a></li>
<li id="m8"><a>link 8</a></li>
</ul>
</div>
CSS:CSS jQuery的变化类样式
#menu .active{
background:white;
}
#menu .active a{
opacity:0.5;
}
#menu a{
color:#08042b;
text-decoration:none;
font-size:14px;
text-shadow: 1px 0px 1px #6055c8;
position:relative;
}
当我点击一个链接在第一时间一切似乎是确定.. 当我点击这个李的第二次背景颜色改变丽字体需要不透明度0.5, 以前的li没有活跃的className但前面的li文本没有去不透明度:1 任何帮助?
答
如前所述,使用$("#menu .active").removeClass("active");
比删除整个类属性更正确,因为您可能会因此失去其他类,从而导致意外行为。
+0
为什么这样:$(“#menu .active”)。removeClass(“active”)。find(“a”).css(“opacity”,1);工作,但这:$(“#menu .active”)。removeClass(“active”);不?? 任何情况下类都会改变,但只有第一个代码中的不透明度发生变化 –
而不是使用'''attr''来添加和删除类user [.addClass](http://api.jquery.com/addClass/)和[.removeClass](http://api.jquery .com/removeClass /) – karthik
我试试这个..基本的 ,你有权在这一点上。 但不改变的东西 –
$( “#菜单里”)。点击(函数(){ \t \t $( “#菜单。主动”)。removeAttr( “类”)。找到( “A”)。 css(“opacity”,1); \t \t $(this).addClass(“active”); \t}); 这是行得通的,但为什么我原来的代码不起作用? –