Javascript无法在Firefox中运行

时间:2011-02-21 04:26:50

标签: javascript html

我用javascript编写了代码。代码在IE,Chrome和Safari中运行良好,但firefox会出现问题。我的几乎每个javascript函数都无法在firefox中运行。以下是我的示例代码。

function changelink(str)
{
    str.className="cpageitem";
    str.href='#';
}

该功能在单独的javascript文件中使用。页面加载后立即调用它。

<body onload='changelink(home)'>

可能出现的问题是什么?

2 个答案:

答案 0 :(得分:0)

你为什么不尝试这样的事呢

function init(){
    var home = document.getElementById('some_anchor_id'); 
    changelink(home);
} 

然后使用

<body onload="init()">

答案 1 :(得分:0)

<html>
    <head>
        <script>
            function changelink(str)
            {
                str.className="cpageitem";
                str.href='#';
            }
        </script>
    </head>
<body onload='changelink(home)'>
    <a name="home" href="http://www.nohouse.net">Home</a>
</body>
</html>

我写了一个演示代码来重现你的问题,也许你错过了为“Home”添加id。 这个问题是由IE处理标记名称引起的,它没有在它的全局上下文中添加id属性,但是chrom / FF没有这样做,所以你的样本“home”不是你要修改的链接的有效引用。 DOM。

您可以这样更改:

<html>
    <head>
        <script>
            function changelink(str)
            {
                str.className="cpageitem";
                str.href='#';
            }
        </script>
    </head>
<body onload='changelink(home)'>
    <a id="home" name="home" href="http://www.nohouse.net">Home</a>
</body>
</html>

但这可能不是最佳解决方案,您应该获取DOM对象然后使用它,不要在全局上下文中使用id属性作为DOM ref。只是建议。