8.1.2.1的第6步HTML5规范的开始标记表示void元素可能只有一个/字符.我认为这样做更容易将XHTML的网站迁移到HTML5.
什么是最佳做法?
例如,如果我正在制作一个HTML5(<!DOCTYPE html>)的网站,我该怎么办?
没有斜线
<meta http-equiv="content-type" content="text/html; charset=utf-8">
Run Code Online (Sandbox Code Playgroud)用斜线
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
Run Code Online (Sandbox Code Playgroud)如果两者都在所有浏览器上正确呈现,那么我假设(1)没有斜线是要走的路,因为它更像是HTML5.
除了检查tagName之类的方法之外,是否存在一种便携式方法来检查某些元素是否可以接受并显示childNodes switch(node.tagName)?我需要实现某种d&d,我想将移动的节点插入到最近的document.elementFromPoint位置(已拖放节点的位置)。但是,据我了解,<img>例如在中插入一个元素是没有意义的,因此insertBefore在这种情况下,我将需要此img的parentNode。当然,可以对标签列表进行检查,但是也许有更便携式和简单的解决方案?
谢谢
根据 W3C 的规定,“ Void 元素不能有任何内容(因为没有结束标记,因此开始标记和结束标记之间不能放置任何内容) ”。
但是,在我看来,具有内容的 html 元素不需要结束标签(例如:tdorth或trTAG:对于这些,结束标签是可选的,并且在任何情况下都是隐式的,但不会使它们“空白”)。简而言之,HTML“ void ”元素是(真的)“ empty ”元素吗?鉴于将它们与 html 元素“正常”区分开来的真正且唯一的区别是它们没有结束标记,那么调用单标签会更好吗?
如果这个地方不适合问这样的问题,我深表歉意。
谢谢你的时间。
<table>
<tr>
<th>1
<th>2
</tr>
<tr>
<td>3
<td>4
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)