我在Firefox / Chrome中使用这两种语法来定义WebComponent。
打开标记
<content></content>
已关闭代码
<content/>
并且都按预期工作。
以第一种方式定义<content>
的(技术)原因是什么?
MDN Content element表示起始和结束标记必需,但未指定原因。
答案 0 :(得分:1)
您实际上必须使用<content></content>
表单。在普通的HTML(非XML)文档(这是您要在此处制作的文档)中,使用HTML解析在所有浏览器引擎中工作的标准方式,<content/>
标记不是一个content
结束标记 - 而不是它只是一个content
开始标记,其中包含额外的/
,HTML解析器会忽略它。
在您的情况下,这意味着当HTML解析器没有看到</content>
的任何content
结束标记时 - start-tag-with-extra - /
- at-the结束时,解析器永远不会实际关闭content
元素,以便*跟随content
元素的所有节点都成为它的子内容。
要了解我的意思,请查看DOM view of what the <content/>
looks like to an HTML parser。
MDN Content元素表示空标记表单是必需的,但未指定原因。
我不确定你的意思是“空标签形式”。该MDN页面说:
标记省略:无,开始和结束标记都是必需的。
这意味着content
元素必须具有结束标记。