js函数中的aID函数toggleAndChange(aID,divID)未在FF中定义

时间:2012-01-07 05:16:26

标签: javascript jquery firefox

我在<head>中有以下javascript函数来切换<div>的可见性

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script type="text/javascript">
function toggleAndChange(aID,divID) {
    $(divID).toggle();
    if ($(divID).css('display') == 'none') {
        $(aID).html('Show Description');
    } else {
        $(aID).html('Hide Description');
    }   
}
</script>

<body>我有以下代码

<a id="description_visibility" href="javascript:toggleAndChange(description_visibility,description);">Hide Description</a><br />
<div id="description">....</div>

这在IE和Chrome中运行良好。在FF中,当我点击链接时没有任何反应。当我拿起Firebug并点击链接时说:

description_visibility is not defined

为什么FF无法识别<a> ID?或者我错过了什么?我的Mac上的FF 9.0.1和我的PC上的FF 8.0.1都出现问题

2 个答案:

答案 0 :(得分:1)

你必须使用单引号'#description_visibility'和'#description'

<a id="description_visibility" href="javascript:toggleAndChange('#description_visibility','#description')"></a>

还有数字符号来指明那些是IDS

答案 1 :(得分:1)

在某些浏览器中,您依赖于非标准功能,它们将所有元素ID作为属性映射到映射到这些元素的全局对象。 Firefox只在quirks模式下执行此操作,而不是在标准模式下执行此操作。