知识屋:更实用的电脑技术知识网站
所在位置:首页 > 编程技术 > HTML教程

HTML5教程:html标签属性通过w3c验证

发布时间:2012-11-17 19:58:40作者:知识屋

项目客户需要通过w3c验证。但是在标签里写了一些用户属性,所以通不过。
首先解释一下什么叫用户属性。 <tag yourAttr="yourAttrValue" ></tag>。红色的部分就是用户属性,有时候我们需要用javascript code某些东西的时候,这个必不可少。 但他确实不能通过W3C的验证。

下面是一些解决方案:
一、用子标签隐藏来代替用户属性。
<tag class="normal">
<tag class="myAttr">myAttrValue</tag>
<tag>内容</tag>
</tag>
然后设置css
.myAttr{display:none;}
怎么获取那个数据,可以自己去查一下。

二、使用HTML5 DTD + data- 来解决
html5支持用户自定义属性,但要求必须以“data-”开始,可以通过验证。
<tag data-myAttr="myAttrValue"></tag>

三、使用通用属性来解决
title属性是大多数标签都可以有的,完全可以通过验证。
<tag title="myAttrValue"></tag>
可是,问题来了,当鼠标移动到标签上,title直接显示出来,很不好的用户体验。
所以,想到了用javascript或者jquery来解决这个问题:
(function($){
$.fn.setUserAttr=function(options){
var defaults={dataName:"userData"};
var opts = $.extend({},defaults,options||{});
return this.each(function(){
$this=$(this);
var userAttrVal=$this.attr("title");
$this.attr("title","").data(opts.dataName,userAttrVal); 
})
};
})(jQuery)


html:
<tag class="useAttr" title="myAttrValue"></tag>

应用:
$(".useAttr").setUserAttr();
通过$(".useAttr").data("userData")来获取数据.
或者 
$(".useAttr").setUserAttr({dataName:"yourAttrName"}); 
通过 $(".useAttr").data("yourAttrName ")来获取数据
(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜