Js函数未定义

时间:2011-07-18 08:05:36

标签: javascript

我正在制作一个简单的节目和隐藏功能,它一直告诉我它没有被定义。

这是HTML:

<address>
<a id="windows" href="#" onclick="toggle();">
<img src="imges/c980e3f5-badf-432a-ae6c-9e5341d13462.png" alt="" />
</a>
</address>
         <p class="right_page">
           this is sample of the book container<br/>
           thats suppose to read from ajax
            </p>

这里是函数

    <script type="text/javasript">
function toggle() 
{
    var ele = document.getElementById("right_page");
    var text = document.getElementById("windows");
    if(ele.style.display == "block") {
            ele.style.display = "none";
        text.innerHTML = "show";
    }
    else {
        ele.style.display = "block";
        text.innerHTML = "hide";
    }
} 

</script> 

3 个答案:

答案 0 :(得分:2)

我认为这是由于script标记中的拼写错误造成的。将type="text/javasript"更改为type="text/javascript"(错过c)。

更新

由于您将innerHtml设置为字符串,因此正在从DOM中删除您的图像。这会覆盖作为innerHtml一部分的图像。

第一次运行toggle()时,display没有内联样式,因此ele.style.display将为空字符串。这意味着它将落入显示段落的逻辑中。在后续调用中,属性将具有一个值,因此它应该按预期运行。

答案 1 :(得分:1)

这里有一些问题:

  1. 您是否直接从代码中粘贴了这个?如果是这样,您的<script type...行包含拼写错误(应该是“javas * c * ript”)

  2. 您不能将getElementById()用于right_page,因为right_page仅在您的标记中定义为类。

答案 2 :(得分:0)

首先,您错过了C 更改type="text/javascript",其次是right_pae不是ID, 不能使用document.getElementById,因为你的函数有问题,所以它告诉你函数是未定义的