11

例如这里的代码是这样的:

<html lang="en">
   <head>
     <!-- whatever -->
     <script>
       $(function() {
         $( "#datepicker" ).datepicker();
       });
     </script>
   </head>
 <!-- whatever -->

请注意,<script>应该包含type属性(可能设置为"text/javascript"),但此处不存在。

这不是我见过的唯一例子。这样的代码让 Visual Studio 编辑器不高兴——它强调<script>并说应该有一个type属性。这也让我很好奇。

为什么type经常被省略?如果我添加type="text/javascript"会发生什么 - jQuery 会中断还是什么?

4

5 回答 5

15

这可能是因为HTML5 不需要元素的type属性<script>(默认为"text/javascript")。

于 2013-03-04T14:42:05.483 回答
5

在 HTML 5 中,现在默认情况下将脚本设置为 JavaScript 类型,因此无需指定它。HTML 4.01 似乎确实需要它。

见这里:http ://www.w3.org/TR/html401/interact/scripts.html#h-18.2.1

并且:http ://www.w3.org/TR/html5/scripting-1.html#script

于 2013-03-04T14:45:11.490 回答
4

它不再是 html5 中的要求。

http://www.w3.org/html/wg/drafts/html/master/scripting-1.html

于 2013-03-04T14:43:39.073 回答
2

type标签是可选的。所有浏览器中的默认编程语言都是 JavaScript,因此它是默认的。在 XHTML 中,这个属性是必需的,也是不必要的。在 HTML 中,最好将其省略。

浏览器会知道它是 Javascript。

于 2013-03-04T14:43:56.167 回答
1

Visual Studio 可能不满意,因为它很懒,需要解析标签内的script代码,并且智能感知也必须正常工作,因此最好type直接提供它,而不是让 VS 猜测您使用的是什么语言,即text/vbscript.

您可以在 Visual Studio 下 html使用高级脚本编写一些页面。http://www.w3schools.com/vbscript/default.aspvb

于 2013-03-04T20:29:43.293 回答