首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >HTML 5自定义元素名称?

HTML 5自定义元素名称?
EN

Stack Overflow用户
提问于 2013-12-01 17:18:08
回答 1查看 1.3K关注 0票数 3

HTML 5规范中,解析器和规范声明元素名称可以是一切,以字母开头,后面跟着α-数字字符。

现在的问题是,如果我引入额外的元素,而不是规范的一部分,但在遵守指定的语法方面是有效的,那么会发生什么。

当这些浏览器遇到具有自定义而未知名称的元素时,它们会做什么?这些元素是像任何元素一样被对待,还是被遗漏、剥离或替换?

例如,HTML5编辑器的行为如何?

在我忽略的规范中,是否有关于有效元素标记名称的内容?

更新

规范在这里是错误的,因为它描述了HTML元素名称的α-数字字符。在阅读HTML 5规范时,我错误地得出结论,这对所有元素名称都是正确的。

这显然是错误的。在解析器部分中,它指出元素名称只能以ASCII字母开头,在该字母之后,除了:

"tab“(U+0009) "LF“(U+000A) "FF“(U+000C) U+0020空间 "/“(U+002F) ">“(U+003E) U+0000为空 EOF

除了这些提到的字符,需要特殊处理,涉及错误或结束标签名称,所有其他可能的字符接缝是允许的。

还要别的吗 ->将当前输入字符附加到当前标记标记的标记名。

在我的现场测试中,还允许多个解析器为第一个字母添加额外的uni代码字母(至少它们在这些字符中很优雅)。

/Update

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-01 19:27:42

在HTML 5规范中,解析器和规范声明元素名称可以是一切,以字母开头,后面跟着α-数字字符。

不正确。规范指出,元素名称必须是在该文档或另一个适用规范中显式列出的名称之一。其中包括但不限于SVG和MathML。

该规范还包括针对HTML使用者(如浏览器)的处理规范。这并不描述什么是“允许的”,而是描述了这些消费者应该如何处理文档中的每个字符,而不管文档中是否包含允许或不允许的内容。

现在的问题是,如果我引入额外的元素,而不是规范的一部分,但在遵守指定的语法方面是有效的,那么会发生什么。

遵守上述规则。“指定的语法”与此无关。该规范描述了使用者对任何输入的字符流应该做什么。

当这些浏览器遇到具有自定义而未知名称的元素时,它们会做什么?这些元素是被当作任何元素来对待的,还是被忽略了,被剥离掉,还是被替换了?

它们被视为实现http://www.w3.org/1999/xhtml接口的HTMLUnknownElement命名空间中的元素。

例如,HTML5编辑器的行为如何?

如果它们是符合HTML5的,那么在读取HTML时,它们的行为将是相同的。

在我忽略的规范中,是否有关于有效元素标记名称的内容?

见上文第一段。也是自定义元素规范,它使任何元素名以ASCII字母开头,并包含一个连字符被认为是有效的。目前还不清楚该规范目前是否是"HTML5适用的规范“,但如果不是,它很可能很快就会成为规范。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20314918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档