$(document).ready(function() {
//Default Action
$(".tab_content").hide(); //Hide all content
$("ul.tabs li:first").addClass("active").show(); //Activate first tab
$(".tab_content:first").show(); //Show first tab content
//On Click Event
$("ul.tabs li").click(function() {
$("ul.tabs li").removeClass("active"); //Remove any "active" class
$(this).addClass("active"); //Add "active" class to selected tab
$(".tab_content").hide(); //Hide all tab content
var activeTab = $(this).find("a").attr("href"); //Find the rel attribute value to identify the active tab + content
$(activeTab).fadeIn("slow"); //Fade in the active content
return false;
});
});
Works in everything but IE?
You can do this to get consistent behavior:
var activeTab = $(this).find("a").get(0).hash;
IE likes to return not "#id"
but instead it thinks you want: "http://site.com/currentPage.html#id"
, which won't work for a selector :) I you grab the .hash
off the DOM element, you get just he #id
portion consistently.
You can find a bit more discussion on why this happens in this question