普通元素是否包含自定义元素?

时间:2018-07-15 05:42:21

标签: html

custom elements 组中是否有 normal elements

从一章开始,我意识到元素组有几种类型,最大的是普通元素。但是我仍然不明白是否有自定义元素

该段显示:

  

普通元素:所有其他允许的 HTML elements 是普通元素

This reference说,命​​名空间中的任何定义都包含在http://www.w3.org/1999/xhtml

还有引号:

  

“ HTML元素”一词是指该命名空间中的任何元素,即使在XML文档中也是如此。

但是在http://www.w3.org/1999/xhtml中没有出现自定义元素的定义,是否表示自定义元素不包含在常规元素组中< / strong>。

1 个答案:

答案 0 :(得分:1)

是的,它们是正常元素。

某些背景:XML具有名称空间的概念,该属性使两个作者可以使用相同的元素名称而不会发生冲突。例如,恐龙的XML格式可能具有侏罗纪,白垩纪等年龄的“年龄”元素,而患者记录的XML格式可能具有“此人的年龄”的“年龄”元素,您可以毫无疑问地将它们组合到一个XML文档(是,XML)中,尽管这两个元素都被称为“年龄”,因为它们来自不同的命名空间。

HTML对名称空间的处理有限,以实现与XHTML和SVG的向后兼容性。 http://www.w3.org/1999/xhtml是HTML元素的名称空间URI;您的自定义元素位于该命名空间中。在JavaScript中查看document.querySelector(...).namespaceURI,以了解是否正确。具有该名称空间的元素并不意味着它是XHTML规范定义的元素名称,您可以使用各种元素名称在该名称空间中创建元素。

因为自治自定义元素位于该命名空间中,而不是那些特殊元素(区域,基础等),所以它们是普通元素。

这是什么意思?这只是意味着它们已被解析为某种方式。 HTML规范使用元素类型作为简写来指定子内容解析,自动关闭标签以及类似的功能如何同时作用于一堆元素。