首页前端开发HTMLHtml 5中自定义data-*特性

Html 5中自定义data-*特性

时间2024-01-25 14:35:04发布访客分类HTML浏览836
导读:收集整理的这篇文章主要介绍了html5教程-Html 5中自定义data-*特性,觉得挺不错的,现在分享给大家,也给大家做个参考。小宝典致力于为广大程序猿(媛)提供高品质的代码服务,请大家多多光顾小站,小宝典在此谢过。 html 5中支持...
收集整理的这篇文章主要介绍了html5教程-Html 5中自定义data-*特性,觉得挺不错的,现在分享给大家,也给大家做个参考。小宝典致力于为广大程序猿(媛)提供高品质的代码服务,请大家多多光顾小站,小宝典在此谢过。

html 5中支持用户自定义的data-*特性,它们在UI是不可见的。例如data-length,它可以附加在input的标签上。更加具体信息可参考W3C HtML 5 data-说明书http://www.w3.org/TR/2012/WD-html5-20120329/global-attributes.html#attr-data

有这么一段描述:

Custom data attributes are intended to Store custom data PRivate to the page or application, for which there are no more appropriate attributes or elements.

接下来我们就可以实现这样一个简单例子:

!DOCTYPE html>
html>
head>
    tITle> Html5 custom data attribute test/title>
/head>
body >
   li class="user" data-name="Peter Liu" data-city="ShangHai"
      data-lang="csharp" data-food="apple">
   b> Peter says:/b> span> Hello, how are you?/span>
 /li>
 script type="text/javascript">
     VAR user = document.getelementsbytagname("li")[0];
     var pos = 0, span = user.getElementsByTagName("span")[0];

     var phrases = [
   { name: "city", prefix: "I am From " } ,
   { name: "food", prefix: "I like to eat " } ,
   { name: "lang", prefix: "I like to program in " }
 ];

     user.addEventListener("click", function () {
         var phrase = phrases[pos++];
         // Use the .dataset property
         span.innerHTML = phrase.prefix + user.dataset[phrase.name];
     } , false);

 /script>
/body>
/html>

上面的li标签中嵌入一些data-*特性,当你点击那个span,读取了每个data-*的value, 最后实现一个切换文字效果。你有注意到上面js中有用到一个dataset属性。W3C官方也是有关于dataset的介绍。上面的代码测试通过在 Firefox 11.0, Chrome 18.0.1025.151
注意这个在IE9是不支持的。 IE9 需要改写为getAttribute


!DOCTYPE html>
html>
head>
    title> Html5 custom data attribute Test/title>
/head>
body >
   li class="user" data-name="Peter Liu" data-city="ShangHai"
      data-lang="CSharp" data-food="apple">
   b> Peter says:/b> span> Hello, how are you?/span>
 /li>
 script type="text/javascript">
     var user = document.getElementsByTagName("li")[0];
     var pos = 0, span = user.getElementsByTagName("span")[0];

     var phrases = [
   { name: "city", prefix: "I am from " } ,
   { name: "food", prefix: "I like to eat " } ,
   { name: "lang", prefix: "I like to program in " }
 ];

     user.addEventListener("click", function () {
         var phrase = phrases[pos++];
         // Use the .dataset property
         span.innerHTML = phrase.prefix + user.getAttribute('data-'+phrase.name);
     } , false);

 /script>
/body>
/html>

上面的代码在IE 9.0.8112测试通过。您也可以在IE, FF中单步调试js看其中结果

希望对您Web开发有帮助。


 作者:Petter Liu
 

Html 5中支持用户自定义的data-*特性,它们在UI是不可见的。例如data-length,它可以附加在input的标签上。更加具体信息可参考W3C Html 5 data-说明书http://www.w3.org/TR/2012/WD-HTML5-20120329/global-attributes.html#attr-data

有这么一段描述:

Custom data attributes are intended to store custom data private to the page or application, for which there are no more appropriate attributes or elements.

接下来我们就可以实现这样一个简单例子:

!DOCTYPE html>
html>
head>
    title> Html5 custom data attribute Test/title>
/head>
body >
   li class="user" data-name="Peter Liu" data-city="ShangHai"
      data-lang="CSharp" data-food="apple">
   b> Peter says:/b> span> Hello, how are you?/span>
 /li>
 script type="text/javascript">
     var user = document.getElementsByTagName("li")[0];
     var pos = 0, span = user.getElementsByTagName("span")[0];

     var phrases = [
   { name: "city", prefix: "I am from " } ,
   { name: "food", prefix: "I like to eat " } ,
   { name: "lang", prefix: "I like to program in " }
 ];

     user.addEventListener("click", function () {
         var phrase = phrases[pos++];
         // Use the .dataset property
         span.innerHTML = phrase.prefix + user.dataset[phrase.name];
     } , false);

 /script>
/body>
/html>

上面的li标签中嵌入一些data-*特性,当你点击那个span,读取了每个data-*的value, 最后实现一个切换文字效果。你有注意到上面js中有用到一个dataset属性。W3C官方也是有关于dataset的介绍。上面的代码测试通过在 Firefox 11.0, Chrome 18.0.1025.151
注意这个在IE9是不支持的。 IE9 需要改写为getAttribute


!DOCTYPE html>
html>
head>
    title> Html5 custom data attribute Test/title>
/head>
body >
   li class="user" data-name="Peter Liu" data-city="ShangHai"
      data-lang="CSharp" data-food="apple">
   b> Peter says:/b> span> Hello, how are you?/span>
 /li>
 script type="text/javascript">
     var user = document.getElementsByTagName("li")[0];
     var pos = 0, span = user.getElementsByTagName("span")[0];

     var phrases = [
   { name: "city", prefix: "I am from " } ,
   { name: "food", prefix: "I like to eat " } ,
   { name: "lang", prefix: "I like to program in " }
 ];

     user.addEventListener("click", function () {
         var phrase = phrases[pos++];
         // Use the .dataset property
         span.innerHTML = phrase.prefix + user.getAttribute('data-'+phrase.name);
     } , false);

 /script>
/body>
/html>

上面的代码在IE 9.0.8112测试通过。您也可以在IE, FF中单步调试js看其中结果

希望对您Web开发有帮助。


 作者:Petter Liu
 

觉得可用,就经常来吧! 欢迎评论哦! html5教程,巧夺天工,精雕玉琢。小宝典献丑了!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

ClassdivHTMLhtml5post-format-galleryProp

若转载请注明出处: Html 5中自定义data-*特性
本文地址: https://pptw.com/jishu/586638.html
HTML5 Canvas 旋转 HTML5学习笔记简明版(4):新元素之video,audio,meter,datalist,keygen,output

游客 回复需填写必要信息