谁的脚本标签会影响页面渲染?

时间:2011-02-07 12:45:53

标签: javascript jquery html

我有这段代码:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
        <script type="text/javascript" href="http://code.jquery.com/jquery-1.5.min.js" />
        <title>JQuery Demo 1</title>
        <style type="text/css">
            #box
            {
                background-color: #ff0000;
            }
        </style>
        <script type="text/javascript">


        </script>
    </head>
    <body>
        <div id="box">----Text----!</div>
    </body>
</html>

当我从Google中包含Jquery文件时,div“框”将停止为红色。当我删除JQuery文件时,它再次变为红色。为什么?

2 个答案:

答案 0 :(得分:6)

使用script元素的自动关闭语法尝试,例如

<script type="text/javascript" src="http://code.jquery.com/jquery-1.5.min.js"></script>

...指向脚本文件的正确属性为src,而不是href

See it on jsFiddle

答案 1 :(得分:2)

在XHTML中<script />表示“完整的脚本元素”(注意,浏览器根据内容类型的HTTP标头决定文档是XHTML还是HTML,而不是Doctype)。

在HTML中<script />表示“以>字符开头的脚本的开始标记”,但由于历史原因,它被视为“具有有趣属性的脚本的开始标记”我会忽略“。

因此,您有一个打开的脚本元素,但在第二个脚本元素的</script>标记之前它不会关闭。 <style>元素位于脚本内部,因此它被视为JavaScript而不是HTML。由于脚本指定src,因此忽略内联脚本(包括样式元素)。