我用javascript编写了代码。代码在IE,Chrome和Safari中运行良好,但firefox会出现问题。我的几乎每个javascript函数都无法在firefox中运行。以下是我的示例代码。
function changelink(str)
{
str.className="cpageitem";
str.href='#';
}
该功能在单独的javascript文件中使用。页面加载后立即调用它。
<body onload='changelink(home)'>
可能出现的问题是什么?
答案 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。只是建议。