例如:
<div id="myDiv" />
然后将使用Javascript填充此div。
这是有效的HTML吗?
答案 0 :(得分:41)
没有。 HTML 4.x没有任何自闭标签的概念。
在XHTML中有效。
答案 1 :(得分:13)
Div不是有效的自闭标签。要有一个空div,最好这样做:
<div id="myDiv"></div>
答案 2 :(得分:10)
根据XML声明和XHTML 1.0和1.1文档定义,这很好:当紧跟在null-end start标记之后可以使用null-end标记(>
){{1 }}),您的代码等同于/
。
完全不同的是,任何特定的消费者是否能够正确处理这个问题。
HTML 4.01使用的SGML声明允许标记缩短,但它对null-end标记有不同的语法;在那里你可以写<div id="myDiv"></div>
。同样,里程可能因浏览器支持而异。 (我的钱是“没有”。)
HTML的未来版本(HTML5?如果该名称仍然存在)不再作为SGML语言实现,因此它们只是允许他们所说的内容,而无需使用正式语法。
答案 3 :(得分:4)
XHTML中的自闭关标签由浏览器实现:
What are all the valid self-closing elements in XHTML (as implemented by the major browsers)?
html5中的Self Closing标签:
答案 4 :(得分:2)
我通过W3C validator运行了这两个代码块。将代码复制并粘贴到“直接输入验证”选项卡下的输入中,以查看自己的结果。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>title</title>
<meta http-equiv="content-type" content="text/html;charset=UTF-8" >
</head>
<body><div id="Mydiv" /></body>
</html>
Doctype of transitional HTML 4.01的代码块未通过验证过程。
<!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" lang="en">
<head>
<title>Test</title>
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
</head>
<body><div id="Mydiv" /></body>
</html>
当我添加XHTML 1.0过渡文档类型时,将元标记更改为自闭标记,并在html xmlns行中添加,验证通过。
因此,要回答问题的前半部分,它是XHTML 1.0 Transitional doctype下的有效HTML。无论你是否可以使用javascript来正确填充它,我都不确定。
答案 5 :(得分:0)
不,它是有效的XML(不是HTML),据我所知,只有在使用application / xml mimetype发送文档时才会被接受。
但是,它可能适用于XHTML和XHTML Doctype声明。