这样可以
然后把
var n=document.getElementById("num").value;
var span=document.getElementById("result");
放在function外面就不行??但是同样在script里啊
这样可以
然后把
var n=document.getElementById("num").value;
var span=document.getElementById("result");
放在function外面就不行??但是同样在script里啊
放在外面的话你需要放在
window.onload=function(){
//.....原来的代码
}
里面执行
或者将你的script代码块放到<span id="result"></span><script>原来的代码.</script>
下面。因为代码出现在dom对象之前,由于浏览器从上到下解析的,执行js的时候dom还不存在,document.getElementById('num')为null,在调用value属性就出错了
放到下面就能获取到dom对象了,或者放上面 在window.onload事件(dom包括资源已全部加载完毕,ajax异步加载的除外,这个需要注意)才能获取到dom。
而且还有一个问题,即使在onload中放外面,变量需要存储dom,而不是dom的value,要不num的值会为空,即使后面你更改了num的值,变量的值也是不会变的,因为n存储的值为运行到代码时num的当前值。
存储dom的话在函数里面使用dom.value能获取最新值