AngularJS如何使用自定义HTML5元素标记和属性?

大多数浏览器似乎允许您创建任何喜欢的元素标记,并向元素添加任何喜欢的属性名称。例如:

<!DOCTYPE html>
<html>
<车身>
<div my attribute=“没有数据前缀,但其行为似乎与属性应类似”>
<br/>
<hello world style=“显示:块;背景:#eee”>大家好&lt/你好,世界>
<goodby world style=“背景:#faa”>默认显示为内联&lt/再见世界>
&lt/部门>
&lt/车身>
&lt/html>

以上显示良好。看起来未定义的元素的行为非常类似于跨度。
看起来AngularJS还利用了自定义标记&属性相当多-这在很大程度上取决于它

但是,据我所知,这样做是不可能的,除了带有“data-”前缀的自定义html5属性

所以,我的问题是:创建自己的自定义元素标记和/或属性名是否不再是禁忌?或者换句话说,AngularJS是否依赖于非标准的怪癖,这些怪癖不是HTML5规范的一部分,只是碰巧可以工作?谷歌有人发现了html5规范中一个失传已久的秘密章节吗?还是我完全误解了什么

它不会验证,但会呈现

HTML5的设计非常宽容(与XHTML相反)。这在一定程度上是为了让“老”HTML5浏览器可以允许新的元素(以及格式糟糕的HTML),而该版本还不支持这些元素,而不会破坏页面

这当然可以被“利用”来引入自定义标记

话虽如此,您也可以使用HTML4来实现这一点

如注释中所述:您还可以在普通标记中的任何属性前面加上data-前缀,并进行验证

发表评论