Javascript getElementById找不到元素

Javascript getElementById找不到元素,javascript,Javascript,所以。我刚买了Jon Ducket关于JavaScript的过于简单的书。好书 我一直在尝试第一个例子中的一个,“创建一个数组”。我很确定我做的每件事都和书上说的一模一样,但它不起作用。我试图在其中打印的元素保持为空。这是我的身体: <body> <script type="text/javascript" src="Excersize1.js"></script> <p id='colors'></p> </body>

所以。我刚买了Jon Ducket关于JavaScript的过于简单的书。好书

我一直在尝试第一个例子中的一个,“创建一个数组”。我很确定我做的每件事都和书上说的一模一样,但它不起作用。我试图在其中打印的元素保持为空。这是我的身体:

<body>

<script type="text/javascript" src="Excersize1.js"></script>

<p id='colors'></p>

</body>

有什么想法吗?

这是因为您的
javascript
是在页面上的元素能够加载之前执行的

// Searches the DOM for an element with the ID 'colors'
// but will fail to find it because it hasn't been rendered yet
var el = document.getElementById('colors');
尝试移动页面底部的
javascript
,这样当它运行时,文档的其余部分都已加载

<body>
   <p id='colors'></p>

   <!-- Run the scripts last to help make sure the page is loaded first -->
   <script type="text/javascript" src="Excersize1.js"></script>
</body>


我刚买了Jon Ducket关于JavaScript的简单化的书。
-我会要求退款,因为它看起来不错,但教的不是那么好……我很好奇为什么你会给这个问题起个“外部JavaScript”的标题。除了这个标题在描述你的问题方面做得很糟糕之外,我想知道你为什么认为这个问题与外部JS有关。如果你认为是这样的话,那么为我们其他人替换
这本书就很容易了。
<body>
   <p id='colors'></p>

   <!-- Run the scripts last to help make sure the page is loaded first -->
   <script type="text/javascript" src="Excersize1.js"></script>
</body>