我写了一个标签控件,但我不能让css在所有浏览器中工作,我该如何解决?

时间:2009-11-09 12:45:58

标签: javascript css

使用CSS,基本上有两个类,一个用于选项卡默认颜色,一个“选定”的CSS类,使用JavaScript应用于任何一个选项卡。

控件功能完美,但动态CSS仅适用于IE7和IE8。

代码基本上是这样的:

for (var i = 0; i < group.children.length; i++)
{
    child = group.children[i];

    // Remove class (selected)
    child.className = "";

从每个元素中删除“selected”css类。默认的CSS是自动的,没有使用class =指定,所以基本上这会将它们恢复为默认值。

然后在另一个逻辑之后,它将选定的CSS应用于单击的任何一个:

// Set selected tab

tab.className += "SelectedTab";

我做错了吗?在IE7 / 8中似乎没问题但是Firefox最初正确地渲染了选项卡,第一个选项卡被“选中”,但是当我单击另一个选项卡时,它会正确清除第一个选定的CSS,但是不会应用“选中”再次css到下一个标签。

2 个答案:

答案 0 :(得分:1)

在Firefox中使用DOM检查器查看页面,并通过使用错误控制台或Firebug确保JavaScript没有问题。

如果您可以发布更多代码,甚至更好的链接到测试页面,那么我们可以为您提供更多帮助。现在,我们对您发布的代码所做的工作并不多。

答案 1 :(得分:1)

JQuery这种东西非常棒。

$(child).removeClass("SelectedTab");

$(tab).addClass("SelectedTab");