I had a list <li> where the content inside li should get bold when it is clicked. For that i used the following code
HTML
  <ul cl开发者_开发技巧ass="tabs">
        <li><a href="#tab1" style="padding-left:5px;">All Sectors</a></li>
        <li><a href="#tab2">Information Technology</a></li>
        <li><a href="#tab3">Manufacturing</a></li>
        <li style="border-right:none;"><a href="#tab4">Services</a></li>        
  </ul>
JQUERY
$(document).ready(function() {
    $(".tabs li a").click(
        function() { $(this).css({ "font-weight" : "bold" }); }     
    );
});
But When the list item is clicked it gets bold. I want the list item to get back to normal when the other list item is clicked. I am not able to find the correct event. Your help will be greatly appreciated.
It would actually be easier to do this at the <li> level rather than the <a> since it would have the same bolding effect (and direct access to .siblings()), like this:
$(".tabs li").click(function() {
  $(this).addClass("boldClass").siblings().removeClass("boldClass");
});
Then you can use CSS for the class like this:
.boldClass { font-weight: bold; }
Instead of .addClass("boldClass") you could use .toggleClass("boldClass") if you want a click on an already-bold link to un-bold it.
Maybe set the other items to normal before setting the clicked item to bold? I'm not the greatest with jQuery so this code my be utter crap :-)
$(document).ready(function() {
    $(".tabs li a").click(
        function() { 
           $(".tabs li a").css({ "font-weight" : "normal" }); 
           $(this).css({ "font-weight" : "bold" }); 
        }     
    );
});
Don't use CSS directly for this. Use classes:
a.bold { font-weight: bold; }
with:
$("ul.tabs > li> a").click(function() {
  $(this).closest("ul.tabs").children("li").children("a.bold")
    .removeClass("bold").end().addClass("bold");
  return false;    
});
Direct CSS changes are destructive. You can't roll them back. Classes on the other hand can be freely added and removed in a non-destructive manner and lead to better solutions (assuming the CSS property values aren't dynamic).
Maybe you could do this ?
$(document).ready(function() {
    $(".tabs li a").click(
        function() { 
           $(".tabs li a").css({ "font-weight" : "normal" });
           $(this).css({ "font-weight" : "bold" }); }     
    );
});
Although all the above suggestion will work, my recommended solution is much simpler. JavaScript is behavioural so it should be just used for that. So I would suggest adding a class to the parent li when the a is clicked. You should just toggle a class:
JS
$('.tabs li a').click(function() {
    $(this).parent().toggleClass('bold');
    return false;
});
CSS
.bold a {
    font-weight: bold; 
}
Example: http://jsfiddle.net/XWdVe/
 
         
                                         
                                         
                                         
                                        ![Interactive visualization of a graph in python [closed]](https://www.devze.com/res/2023/04-10/09/92d32fe8c0d22fb96bd6f6e8b7d1f457.gif) 
                                         
                                         
                                         
                                         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论