Javascript <;!DOCTYPE html>;导致停机失败的原因

Javascript <;!DOCTYPE html>;导致停机失败的原因,javascript,html,ajax,Javascript,Html,Ajax,下午好 我一直在阅读“Ajax For Dummies手册”,并一直在尝试这些示例。去年我在学校上了html和javascript课程。我已经开始使用web服务,但是我发现它非常混乱,所以我决定使用Ajax来尝试更好地理解它 我遇到了一个相当奇怪的问题。本书第54页的例子如下: <html> <head> <title>JavaScript Event Example</title> </head> <

下午好

我一直在阅读“Ajax For Dummies手册”,并一直在尝试这些示例。去年我在学校上了html和javascript课程。我已经开始使用web服务,但是我发现它非常混乱,所以我决定使用Ajax来尝试更好地理解它

我遇到了一个相当奇怪的问题。本书第54页的例子如下:

<html>
   <head>
      <title>JavaScript Event Example</title>
   </head>
   <body onmousedown="document.bgcolor='pink'">
      <h1>Click this page to turn it pink!</h1>
   </body>
</html>

JavaScript事件示例
单击此页面将其变成粉红色!
我的问题是,当我添加到页面顶部时,鼠标单击不起作用。当我把它取下来的时候,它就这样做了。我在示例中添加了,因为W3HTML课程要求您必须添加它

<!DOCTYPE html>
<html>
   <head>
      <title>JavaScript Event Example</title>
   </head>
   <body onmousedown="document.bgcolor='pink'">
      <h1>Click this page to turn it pink!</h1>
   </body>
</html>

JavaScript事件示例
单击此页面将其变成粉红色!
我在谷歌上搜索了“onmousedown失败的原因”,但没有找到任何与此相关的具体内容。我确实找到了这篇文章,但它不是关于我的疑问:“。谷歌的其他文章都没有帮到我

我也在stackoverflow中进行了搜索,但遗憾的是我没有找到任何东西

我的问题是:当我添加脚本时,为什么脚本停止工作

问候
Philip

使用声明是为了让浏览器知道您使用的是哪个版本的html,而不是html标记

例如,假设您使用html4,然后引用DTD,DTD为html4指定标记语言的规则,以便浏览器正常工作


因此,在您的例子中,函数/属性“onmousedown”“浏览器可能无法识别您正在使用的内容,并且浏览器将一直使用默认的html格式。所以,当您编写浏览器时,它会识别您的html版本,然后呈现数据

现在把书烧掉。不要继续上学。我怀疑它失败是因为你告诉浏览器你在使用HTML5,但你使用的是上个世纪的代码。这是有效的:
第一个示例是否真的有效?这不适合我。而且,
bgcolor
已过时。(使用w3schools也没什么错)@ChrisG我从来没有遇到过w3schools的问题,但我还是用它来提醒语法,实际上,它不适用于课程。你的例子都不管用。JavaScript和DOM都区分大小写。旧属性名为
bgColor
,而不是
bgColor
。如果你解决了这两个问题,它们就会开始工作。在任何情况下,你的书都必须有10年以上的历史,这在网络开发中是一个永恒的过程,你可以更好地利用你的时间和更新的材料。DOCTYPE声明(或缺少)肯定会影响渲染,但我不知道在脚本编写方面有任何具体的限制。您甚至可以通过HTML4声明成功地使用HTML5数据属性。