Most browsers seem to allow you to create any element tag you like, and add any attribute name you like to elements. For example:
<!DOCTYPE html>
<html>
<body>
<div my-attribute="has no data- prefix, but seems to behave like an attribute should">
<br/>
<hello-world style="display:block;background:#eee">Hello Everybody</hello-world>
<goodby-world style="background:#faa">Default display is inline</goodbye-world>
</div>
</body>
</html>
The above displays fine. It looks like undefined elements behave pretty much like spans.
It also looks like AngularJS takes advantage of custom tags & attributes quite a lot - it pretty much depends on it.
But, as far as I understood, doing that sort of thing was a no-no, except in the case of custom html5 attributes with the "data-" prefix.
So, my question is: Is it no longer taboo to make up your own custom element tags and/or attribute names? Or put another way, does AngularJS rely on non-standard quirks that are not really part of the HTML5 spec, but just happen to work anyway? Did somebody at google discover a long-lost secret chapter of the html5 spec? Or am I totally misunderstanding something?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…