HTML中的闭合标签

5

我现在正在尝试使用jquery。当我按以下方式引入jquery.js时:

可能重复的问题:
为什么自闭合的脚本标签不起作用?

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

这段代码无法正常工作。实际上它只是一个简单的“Hello World”程序。我只是调用了一个jQuery特定的函数。但是,如果像上面那样引入文件,它就不能正常工作。但当我将闭合方式更改为以下方式时:

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

代码运行良好。有什么区别吗?


5
为什么自闭合的<script>标签不起作用? - Marek Karbarz
4个回答

7

<script />是有效的XML,但无效的HTML。

如果您将页面作为text/xml提供,浏览器将正确地加载它们。


4

4
在有人提到之前,需要说明的是,HTML不是XHTML。它甚至不是一个子集。HTML源于SGML,有其自己的规则。其中之一的规则是,某些标签需要关闭而某些不需要。实际上并不存在<script />或者<br />这样的东西,那是XML的概念,它们并不真正属于HTML。
这些东西有时之所以起作用,只是因为页面作者做错了事情,而一些浏览器试图对此友好处理。

3
几年前,我也面临同样的问题。经过所有的搜索,我的结论是没有逻辑上的答案。所以我认为这是一个没有原因的异常情况。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接