Я сделал все изменения, которые предложил Райан, за исключением добавления пробела между '.content' и периодом, как это необходимо. Он не мог знать без исходного кода.
Я изменил ваш .splice (-1) на [1], так что я выбираю второй элемент в массиве, который является именем класса. Похоже, что .splice (-1) ведет себя по-разному в IE и других браузерах.
Я протестировал код с IE 7-8, и он работает.
Исходный код, как сейчас:
$(document).ready(function() {
var url = document.location.hash;
$('.tab').click(function() {
if ($(this).hasClass("active")) {
return;
}
var classy = $(this).attr("class").split(" ")[1];
var innerhtml = $('.content.' + classy).text();
$('#holder').html(innerhtml).slideDown("slow");
$('.tab').removeClass('active');
$(this).addClass('active');
});
if (url.match(/#([a-z])/)) {
//There is a hash, followed by letters in it, therefore the user is targetting a page.
var split = url.split("#")[1];
$('.tab.' + split).click();
}
else {
$('.tab:first').click();
}
});