Mar*_*ari 4 html javascript css dom
为了编写更具表现力的HTML,我觉得自定义HTML元素对于我可能编写的任何webapp或文档来说都是一个很好的方式,它具有从标记名称本身发出的良好含义而不使用注释.
看来我可以用以下内容定义自定义HTML元素:
document.registerElement("x-el");
Run Code Online (Sandbox Code Playgroud)
但是,在定义它之前,我似乎也可以使用自定义元素:
<body>
<x-salamander>abc</x-salamander>
</body>
Run Code Online (Sandbox Code Playgroud)
甚至:
<salamander>abc</salamander>
Run Code Online (Sandbox Code Playgroud)
我想这是无效的HTML,但是Firefox和Chromium都会继续显示元素而没有任何问题或控制台警告.
我甚至可以在没有浏览器投诉的情况下执行以下操作:
document.getElementsByTagName("salamander")[0]
Run Code Online (Sandbox Code Playgroud)
在CSS中使用此标记名称作为选择器也可以正常工作.那么,如果我以这种方式使用未声明的元素,我可能面临哪些问题?
你要做的事情的问题并不是我们可以告诉你它会以某种预期的方式打破.当你以这种方式偏离标准时,没有人知道会发生什么.根据定义,它是未定义的,并且看到它的浏览器的行为也是未定义的.
也就是说,它可能会很棒!这是要记住的事情:
registerElement发挥作用的地方,可以使用HTMLUnknownElement并使其知晓.浏览器有很长的历史记录,无论你给他们什么,并尝试用它做一些合理的事情,所以你很可能没问题,如果你对主要针对HTML5浏览器感兴趣,那么你很可能没问题.与HTML相关的所有内容一样,唯一的通用建议是测试目标受众.
| 归档时间: |
|
| 查看次数: |
349 次 |
| 最近记录: |