Change background image of <li> on click of <a> tag

一笑奈何 提交于 2019-12-05 06:56:23

问题


html:

 <ul>
    <li id="Co" class="libgc" ><b>CO</b></li>
    <li id="NSCO" class="libgc active"><span> <a href="#NSale.php" target="homeFrame" class="aclass">NSale</a></span></li>
 </ul>

css:

.libgc {
background-color: #CCC;
padding-top: 5px;
padding-bottom: 5px;
text-align: center;
background-image: url(../images/pcnav.png);
border: 1px solid #CCC;
}

jquery:

 $("li").click(function(){
    $(this).css('background-image', 'url("images/btnSelectedTab.png")');
    $(this).css('color','black');
  });

 });

Problem : When I click on first link its background image is changed, but again next time when I click on other link,its background is also changed, & first links background is also similar.(Meant when I click on 2nd link, 1st links image should get back to the basic once.)

How to reset background image to the previous one,when I click on some other links.


回答1:


Try this

$("li").click(function(){
    $("li").removeClass("active");
    $(this).addClass("active");
  });

CSS for the new active class is

li.active {
   background-image: url(../images/btnSelectedTab.png);
   color: black;
}



回答2:


Create a class for what you wish the active li tag to look like; and use the following:

$('li').click(function(){
    $(this).addClass('active').siblings().removeClass('active');
});

This should affect only list items within the same ul tag.



来源:https://stackoverflow.com/questions/18055650/change-background-image-of-li-on-click-of-a-tag

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!