问答详情
源自:3-5 显示和隐藏(display属性)

关于display、function用法

http://img.mukewang.com/566957940001e5b905430592.jpg

  function hidetext()  
        {   var mychar= document.getElementById("con");
            mychar.style.display="none";}
  function showtext()
        {   var mychar= document.getElementById("con");
            mychar.style.display="block";}

下面是正确的代码。为什么截图中这样写不行?不都是在<script>...</script>标签中吗

提问者:有事烧纸 2015-12-10 18:48

个回答

  • 木子舟义
    2015-12-10 19:04:11
    已采纳

    你把mychar 获得元素引用从函数中提出来的话 就得把整个script标签放在你要获取的那个元素后面,因为顺序加载的缘故,像你现在这样放的话,执行 mychar = document.getElement……  浏览器还没有加载到那个标签,所以mychar的引用为undefined

  • proto
    2015-12-10 18:55:55

    跟作用域有关,写在函数外边的 变量mychar是全局变量

    你浏览器怎么报错的吧?

  • fireup
    2015-12-10 18:54:04

    你调用函数时它只是单纯的执行函数里的代码,而不管前面的和后面的

  • china_hechuan
    2015-12-10 18:52:59

    把script挪到</form>后面,需要先加载内容,js才能对内容进行操作,是顺序执行的