jQuery fadeIn()在IE中不起作用

时间:2010-04-28 22:03:56

标签: jquery internet-explorer jquery-animate fadein

$(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;
 });

});

除了IE之外什么都可以使用?

2 个答案:

答案 0 :(得分:1)

您可以这样做以获得一致的行为:

var activeTab = $(this).find("a").get(0).hash;

IE喜欢不返回"#id",而是认为你想要:"http://site.com/currentPage.html#id",这对选择器不起作用:)我从DOM元素中抓取.hash,你只能得到#id部分。

You can find a bit more discussion on why this happens in this question

答案 1 :(得分:0)

$(this).find("a").attr("href")获取目标的HREF,而不是目标。假设你把DIV的名字放在那里的href中可能是正确的(我不知道那里有什么)。

尝试alert($(this).find("a").href())查看您是否拥有正确的元素,或者只是尝试.show(),看看会发生什么。