我用javascript编写了一段代码。该代码在 IE、Chrome 和 safari 中运行良好,但在 Firefox 中出现问题。我的几乎每个 JavaScript 函数都无法在 Firefox 中运行。下面是我的示例代码。
function changelink(str)
{
str.className="cpageitem";
str.href='#';
}
该函数是在单独的 javascript 文件中编写的。页面加载后就会调用它。
<body onload='changelink(home)'>
可能的问题是什么?
最佳答案
<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 引用。只是建议。
关于JavaScript 无法在 Firefox 中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5062290/