1

Currently this script adds active class to <a> but I want it to be added to <div> that is child of <a> I'm not good at Javascript, but I need this thing to get sorted.

  $('ul.tabs').each(function(){
    // For each set of tabs, we want to keep track of
    // which tab is active and it's associated content
    var $active, $content, $links = $(this).find('a');

    // If the location.hash matches one of the links, use that as the active tab.
    // If no match is found, use the first link as the initial active tab.
    $active = $($links.filter('[href="'+location.hash+'"]')[0] || $links[0]);
    $active.addClass('active');

    $content = $($active[0].hash);

    // Hide the remaining content
    $links.not($active).each(function () {
      $(this.hash).hide();
    });

    // Bind the click event handler
    $(this).on('click', 'a', function(e){
      // Make the old tab inactive.
      $active.removeClass('active');
      $content.hide();

      // Update the variables with the new link and content
      $active = $(this);
      $content = $(this.hash);

      // Make the tab active.
      $active.addClass('active');
      $content.show();

      // Prevent the anchor's default click action
      e.preventDefault();
    });
  });

Script wasn't made by me. http://www.jacklmoore.com/notes/jquery-tabs/

  • This may help you [change an elements class with javascript](http://stackoverflow.com/questions/195951/change-an-elements-class-with-javascript). – viks Oct 12 '15 at 12:43
  • by default the properties of a class will be inherited to its child elements, so you dont need to explicitly add the same properties to the child elements unless there its conflicting with other properties – dreamweiver Oct 12 '15 at 12:50
  • It would probably be easier to answer this question if we understood WHY you wish to use the DIV's to track the active state. The JQuery script is designed to work with the
  • elements since these are also the clicked DOM elements which display the tabs.
  • – Oliver Gray Oct 12 '15 at 12:54