【发布时间】:2014-07-23 23:16:06
【问题描述】:
为了编写更具表现力的 HTML,我觉得自定义 HTML 元素对于我可能编写的任何 web 应用程序或文档来说都是一种很好的方式,以便在不使用 cmets 的情况下从标签名称本身散发出良好的含义。
看来我可以定义一个自定义 HTML 元素:
document.registerElement("x-el");
不过,我似乎也可以在定义之前使用自定义元素:
<body>
<x-salamander>abc</x-salamander>
</body>
甚至:
<salamander>abc</salamander>
我认为这是无效的 HTML,但是 Firefox 和 Chromium 都继续显示该元素而没有任何问题或控制台警告。
我什至可以在没有浏览器抱怨的情况下执行以下操作:
document.getElementsByTagName("salamander")[0]
在 CSS 中使用这个标签名称作为选择器也可以正常工作。那么,如果我以这种方式使用未声明的元素,可能会遇到什么问题呢?
【问题讨论】:
-
为什么不使用
data-*属性来存储自定义数据?data-x-chicken="woof i am a chicken"Roflmao 顺便说一句。 -
你会用那些无效的标记名破坏互联网,现在一切都在地狱。
-
@SergeKuharev - 所以如果你可以摆脱编写糟糕的代码,我们都应该这样做吗?
-
最大的问题是,“为什么?”
标签: javascript html css dom