2011-08-23 53 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 –