在WEB页面中,为了配合Javascript的交互功能,很多时候都需要给HTML标签添加自定义属性(虽然标准不支持这么做),而关于自定义属性的名字则大都也是各自为战的自定义的,或根据功能、或根据项目等等,例如:
| 以下是代码片段: <!--来自贴吧―> <div cid="count_ayjpb" st_type="toupiao"></div> <!--来自有啊―> <a href="#" favo_type="x" favo_obj_id="x" favo_title="x"></a> |
这样的会造成自定义属性名混乱的问题,而且更为重要的是假如新的HTML标准中需要使用这个自定义属性,而且其含义与你的自定义属性中含义并不相同,这是一个大家都不希望看到的情况。于是在HTML5中给出了解决方案:只要是自定义属性都需要带上"data-"前缀。
The
data-*collection of author-defined attributes. Authors can define any attribute they want as long as they prefix it with
data-to avoid clashes with future versions of HTML.
因此,按照这个规范可以改写上面两个例子以获得更好的兼容性:
| 以下是代码片段: <!--来自贴吧―> <div data-cid="count_ayjpb" data-st_type="toupiao"></div> <!--来自有啊―> <a href="#" data-favo_type="x" data-favo_obj_id="x" data-favo_title="x"></a> |
实际上在淘宝的机票已经有看到这样的使用
| 以下是代码片段: <span data-display="inline" data-tnick="x" data-nick="x"></span> |
-本文到此结束-