2011-08-23 49 views
3

我正在寻找一个HTML元素列表,他们应该有父元素(<body>除外),以便让他们最有意义。什么是父元素应该有非<body>的HTML元素?

例如,<tr>元素可能是这样一个元素,因为它应该位于<tbody><table>元素的内部。一个<div>元素不会是这样一个元素,因为它直接在<body>元素内是完美的。

有谁知道最好的方法来获得这样的清单?我发现this list是一个起点,但如果有更好的方法比单独检查每个单独的方法,它会为我节省一些时间。

+0

它取决于您使用的是哪个版本的HTML(例如''可能是HTML 4.01 Transitional中的的子元素,但不是HTML 4.01严格。 – Quentin

+0

我不是在寻找严格的,但只是近似的最佳实践让我们说HTML5,如果它很重要 –

+0

是不是所谓的“内联元素”?http://htmlhelp.com/reference/html40/inline.html – jolt

回答

3

对于HTML 2.0之前版本的HTML 4.01和XHTML 1.x版本,请参阅它们的DTD(它们是从W3C网站上适用的规范链接的)。 (之前的HTML版本并不像DTD那样形式化,后来的XHTML版本正朝着schema的方向发展,HTML5被定义为没有官方的机器可读规范,但我认为可能存在第三方模式)。

查找体元素的定义:

<!ELEMENT BODY O O (%block;|SCRIPT)+ +(INS|DEL) -- document body --> 

展开的引用(%body;在这个例子中)。

这会给你一个可能是body元素的子元素的列表。

然后,只需减去该版本HTML中所有元素列表的列表,并且您将具有必须是元素的子元素或非根元素(<html>)的子元素。

+0

感谢这将工作参考: http://www.w3.org/TR/html4/sgml/dtd.html#block –