I just curious why my JavaScript can't run (tested in Firefox and IE) if I write the <script>
tag like this:
<script type="text/javascript" src="script.js"/>
It will work if I change that line to:
<script type="text/javascript" src="script.js"></script>
So my question is: why I can't close the script
tag in the start tag since I don't have any content inside it.
My JavaScript code is simple, just:
alert("test");
Notes: I check firefox error console and no error.
The concept of self-closing tags is an XML concept. You can't use them in HTML. (You can use them in XHTML, but only if the document is served with an XML content-type, not if it is served as text/html
).
In HTML some elements (such as <img>
) cannot have any content, so they don't have end tags).
Since a script can have a src
attribute or the script be can inside the element, <script>
is not one of them.
(HTML 5 allows a /
character to appear at the end of a start tag for an element that is defined as EMPTY, but it is just sugar for people addicted to XML and has no meaning in the language).