为了账号安全,请及时绑定邮箱和手机立即绑定

为什么在外面声明和获取元素function不起作用,之前写的一个网页都可以啊

为什么在外面声明和获取元素function不起作用,之前写的一个网页都可以啊

正在回答

5 回答

如果你是在外部引入的js文件<script>需在代码前加上window.onload=function(){

这里是执行的代码

}

也可引入个jquery库用$(function(){

这里是执行的代码

})

0 回复 有任何疑惑可以回复我~
#1

奇大姨父 提问者

就像我在下面贴出的代码那样 方法无效
2016-11-29 回复 有任何疑惑可以回复我~
#2

奇大姨父 提问者

非常感谢!
2016-11-29 回复 有任何疑惑可以回复我~
#3

慕粉1125219373 回复 奇大姨父 提问者

客气!
2016-11-29 回复 有任何疑惑可以回复我~


那就要看是否有id为con的标签了,或者是你的符号中有中文,你仔细看一下这段代码document.getElementById("con");就这段代码的问题

0 回复 有任何疑惑可以回复我~
#1

奇大姨父 提问者

我终于知道原因了 因为慕课上面已经写好的代码是把script写在body前面的 程序顺序执行到那里还没有加载标签 所以获取不到元素了 谢谢你的回答
2016-11-29 回复 有任何疑惑可以回复我~

代码没错,你在下面alert(mychar),看弹出的提示框是不是null,不是就是拿到了,是的话就是没拿到

 function hidetext()  

{  alert(mychar)

        mychar.style.display = "none";

}  

记得要调用,光声明函数是不会执行的,要调用

onClick="hidetext()"

0 回复 有任何疑惑可以回复我~
#1

奇大姨父 提问者

我试了一下把 alert(mychar) 写在那两个方法里弹出null,写在我声明的地方也是null,怎么会没拿到呢?函数调用有的
2016-11-29 回复 有任何疑惑可以回复我~
#2

qq_吥嘚卟壊_04037148 回复 奇大姨父 提问者

恩!!!
2016-11-29 回复 有任何疑惑可以回复我~

<script type="text/javascript"> 

    var mychar = document.getElementById("con");

        function hidetext()  

{  

        mychar.style.display = "none";

}  

function showtext()  

{  

        mychar.style.display = "block";

}

    </script> 

0 回复 有任何疑惑可以回复我~

你是通过字面量还是表达式声明的函数?比如字面量申明方式function xx(){};表达式 var xx=function(){};字面量的方式会被提前,表达式的声明需声明在调用前

0 回复 有任何疑惑可以回复我~
#1

奇大姨父 提问者

我的意思是: 为什么在外面var获取元素时方法就不起作用,要把var放在function里,我有时候写在外面明明可以啊
2016-11-29 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么在外面声明和获取元素function不起作用,之前写的一个网页都可以啊

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信