我正在寻找一个HTML元素列表,这些元素应该包含父元素(<body>
除外),以使它们最有意义。
例如,<tr>
元素就是这样一个元素,因为它应该位于<tbody>
或<table>
元素内。 <div>
元素不会是这样的元素,因为直接在<body>
元素内部完全没问题。
有谁知道获得此类列表的最佳方式?我发现this list是一个起点,但是如果有更好的方式比我单独检查每一个,那么它会节省我一些时间。
答案 0 :(得分:3)
对于从HTML 2.0到HTML 4.01和XHTML 1.x之前的HTML版本,请参阅其DTD(从W3C站点上的适用规范链接)。 (早期版本的HTML并没有那么形式化,因为有一个DTD。更高版本的XHTML正朝着模式发展.HTML 5的定义方式是没有官方的机器可读规范,但我认为可能有那里的第三方模式。)
找到body元素的定义:
<!ELEMENT BODY O O (%block;|SCRIPT)+ +(INS|DEL) -- document body -->
展开引用(此示例中为%body;
)。
这将为您提供可能是body元素的子元素的列表。
然后只需减去该版本HTML中所有元素列表的列表,您将拥有必须是除正文之外的元素的子元素或者是根元素(<html>
)的元素。