我在< head>里面有一些javascript代码元件。
<script src="jquery-1.3.2.js" type="text/javascript" />
<script type="text/javascript">
$(document).ready(function() {
$("#welcome").addClass("centered");
$("#created").addClass("centered");
});
</script>
在我使用显式结束脚本元素之前,它拒绝工作:
<script src="jquery-1.3.2.js" type="text/javascript"></script>
为什么会有区别?
编辑:整个标题是:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<link rel="stylesheet" href="css/blueprint/screen.css" type="text/css" media="screen, projection" />
<link rel="stylesheet" href="css/blueprint/print.css" type="text/css" media="print" />
<!--[if lt IE 8]><link rel="stylesheet" href="css/blueprint/ie.css" type="text/css" media="screen, projection" /><![endif]-->
<link rel="stylesheet" href="css/blueprint/src/typography.css" />
<link rel="stylesheet" href="css/common.css" />
<script src="jquery-1.3.2.js" type="text/javascript" />
<script type="text/javascript">
$(document).ready(function() {
$("#welcome").addClass("centered");
$("#created").addClass("centered");
});
</script>
</head>
我不明白为什么script元素需要一个显式的end元素,但是link元素不是。
答案 0 :(得分:3)
是的,你总是需要结束这样的脚本元素。它不支持'/&gt;'的XHTML格式结束标签。
答案 1 :(得分:2)
您的文档的文档类型是什么?像第一个例子那样技术上最小化的标签是仅限XML的东西。在大多数情况下,HTML允许它们,但正确的HTML是你的第二个例子。
答案 2 :(得分:1)
script
和iframe
等某些元素在所有浏览器中都无法正常工作,除非您有结束标记,即使内部没有内容。虽然我同意这是愚蠢的,但它只是Web开发人员需要注意的那些不一致之处。
我认为一旦浏览器供应商实现实际 XHTML(因此我们可以将XHMTL作为application / xhtml + xml而不是text / html发送),那时他们也会修复这样的不一致。或许我只是一个乐观主义者。