HTML5中的自定义属性
在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>
-本文到此结束-
You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
嗷嗷滴广告:类型为search的input及相关属性
多谢aoao提醒。
注:原文中关于有啊的例子<input name=”keyword” results=”8″ autocomplete=”off”>中的results是配合search type的input的,算不上一个完全自定义属性。不过有啊的这个input的type不是search,此外,HTML5中已经将search当做标准了,不过却没有加入results以及autosave。