为什么这个简单的代码不会运行?

Sam*_*mir 1 html javascript

<html>
    <head>
    </head>
    <body>
<script>


function toD(angle) {
  return angle * (180 / Math.PI);
}
var a = document.getElementById('test').innerHTML = toD(15);
</script>

<p id='test'> </p>

    </body>
    </html>
Run Code Online (Sandbox Code Playgroud)

对不起,我不确定我是否遗漏了什么,但为什么这段代码没有运行?提前谢谢,对不起,如果这是一个愚蠢的问题!

biz*_*dee 9

var a = document.getElementById('test').innerHTML = toD(15);您的脚本<p id='test'> </p>中运行时不存在.

将脚本放置在AFTER中<p id='test'> </p>或将整个脚本包装在它自己的函数中并将其分配给它,onload以便它只在其后运行<p id='test'> </p>并且其余的DOM可用.

<html>
    <head>
    </head>
    <body>

<p id='test'> </p>

<script>
function toD(angle) {
  return angle * (180 / Math.PI);
}
var a = document.getElementById('test').innerHTML = toD(15);
</script>
    </body>
    </html>
Run Code Online (Sandbox Code Playgroud)

要么

<html>
    <head>
    </head>
    <body>
<script>

window.onload = function() {
  function toD(angle) {
    return angle * (180 / Math.PI);
  }
  var a = document.getElementById('test').innerHTML = toD(15);
}
</script>

<p id='test'> </p>

    </body>
    </html>
Run Code Online (Sandbox Code Playgroud)

注意:这是一种非常脏的使用方式,window.onload只有当这是页面上唯一需要的脚本时才应该使用onload.有关使用onload多个脚本时正确使用的更多信息,请阅读如何使用window.onload正确的方法

  • 请勿使用window.onload!YUCK.接下来我们将要进行expalin是为什么让其中两个不起作用! (2认同)