`
webcode
  • 浏览: 5939268 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

HTML5自定义data属性

 
阅读更多

可能大家在使用jquery mobile时,经常会看到data-role、data-theme等的使用,比如:通过如下代码即可实现页眉的效果:

<div data-role="header">
    <h1>我是标题</h1>
</div>
通过手机浏览,效果如下:

为什么写一个data-role="header"就能实现底部为黑色、文字居中显示的效果呢?


本文提供一种最简单的实现办法,让大家对这些用法有个直观的了解。


我们写一个html页面,自定义一个data-chb="header"的属性,希望具备这个属性的div区域背景颜色为黑色,文字为白色,居中显示;不具备data-chb自定义属性的div按照默认方式显示,html代码如下:

<body>
  <div data-chb="header">
    <h1>我是使用了data-chb自定义属性的div</h1>
  </div>
  <br/>
  <div>
    我没有使用data-chb自定义属性,该怎么展现就怎么展现;
  </div>
</body>

要想实现"背景颜色为黑色,文字为白色,居中显示"的显示效果,我们定义如下的css:

 <style>
 .ui_header {
  background-color: black;
  text-align: center;
  color:white;
  border:1px solid #000;
}
 </style>

然后我们通过如下js方法实现在页面加载时,动态添加css定义,改变具备data-chb属性的div的显示样式:
      <script type="text/javascript">
      window.onload=function(){
        var elems = document.getElementsByTagName("div");
        if(elems!=null&&elems.length>0){
          var length = elems.length;
          //遍历所有DIV控件
          for(var i=0;i<length;i++){
            var elem = elems[i];
            //获取该控件的自定义属性
            var customAttr = elem.dataset.chb;
            //也可以通过如下方式获得自定义属性
            //var customAttr = elem.dataset["chb"];
            //如果是我们预先定义好的header值,表示需要处理
            if(customAttr=="header"){
              //添加样式
              elem.setAttribute("class","ui_header");
            }
          }
        }
      }
    </script>

最后页面显示效果如下:



分享到:
评论

相关推荐

    HTML5如何添加自定义标签属性(data-自定义属性).zip

    HTML5如何添加自定义标签属性(data-自定义属性).zip

    详解HTML5 data-* 自定义属性

    而且关于Attribute和Property的区别也让人十分头痛,在HTML5中添加了data-*的方式来自定义属性,所谓data-*实际上上就是data-前缀加上自定义的属性名,使用这样的结构可以进行数据存放。使用data-*可以解决自定义...

    html5的自定义data-*属性和jquery的data()方法的使用示例

    人们总喜欢往HTML标签上添加自定义属性来存储和操作数据,这就是为什么在HTML5规范里增加了一个自定义data属性,你可以拿它做很多有用的事情

    JS实现获取自定义属性data值的方法示例

    本文实例讲述了JS实现获取自定义属性data值的方法。分享给大家供大家参考,具体如下: HTML部分: &lt;div id=tree data-leaves=47 data-plant-height=2.4m&gt; js部分: var tree = document.getElementById(tree); //...

    html5的自定义data-*属性与jquery的data()方法的使用

    你可以去读一下HTML5的详细规范,但这个自定义data属性的用法非常的简单,就是你可以往HTML标签上添加任意以 data-开头的属性,这些属性页面上是不显示的,它不会影响到你的页面布局和风格,但它却是可读可写的。...

    Html5之自定义属性(data-,dataset)

    H5为我们提供了以 data- 为前缀定义需要的属性即可设置自定义属性 &lt;div id=box1 data-name=Musk&gt; &lt;div id=box2 data-full-name=Elon&gt; 获取 使用H5自定义属性对象dataset来获取 let box1 = document.getElementById...

    关于HTML5的data-*自定义属性的总结

    大家总是习惯使用HTML标签添加自定义属性来存储和操作数据,所以才在HTML5规范里增加了一个自定义data属性,这样使用更便捷,一起跟随小编过来看看吧

    总结html5自定义属性有哪些

    H5为我们提供了以 data- 为前缀定义需要的属性即可设置自定义属性。 &lt;div id=box1 data-name=Musk&gt; &lt;div id=box2 data-full-name=Elon&gt; 获取 使用H5自定义属性对象dataset来获取 let box1 = document....

    jQuery判断自定义属性data-val用法示例

    本文实例讲述了jQuery判断自定义属性data-val用法。分享给大家供大家参考,具体如下: jquery判断自定义属性data-val 1.css .active { color: red; } 2.html &lt;li data-val=1&gt;1 &lt;li data-val=2&gt;2 &lt;li data-...

    HTML5自定义data-* data(obj)属性和jquery的data()方法的使用

    可能大家在使用jquery mobile时,经常会看到data-role、data-theme等的使用,这些都是HTML5自定义属性,本文整理一些,需要的朋友可以参考下

    HTML5自定义属性前缀data-及dataset的使用方法(html5 新特性)

    这些属性可以任意添加、随便命名,只要以 data- 开头即可添加了自定义属性之后,可以通过元素的 dataset 属性来访问自定义属性的值。 &lt;div id=box data-name='ghostwu' data-age='22' data-sex='man'&gt;ghostwu tell ...

    HTML5的自定义属性data-*详细介绍和JS操作实例

    HTML5 增加了一项新功能是 自定义数据属性 ,也就是 data-* 自定义属性。在HTML5中我们可以使用以 data- 为前缀来设置我们需要的自定义属性,来进行一些数据的存放

    HTML5自定义属性的问题分析

    问题背景 在页面与js传值中我们经常用到data-id="1"的方式,然后通过e.target.dataset.id取id...HTML5 自定义属性 网站中经常会看到以data-开头的属性定义,虽然W3C不认定,但最新HTML5规定data-是合理的,在HTML5中,任何

    HTML中data自定义属性的使用和插件应用介绍

    大家可能会经常看到一些HTML里都带有data属性,这些都是HTML5的自定义属性,可以做很多事情,直接调用JS十分方便,虽然是HTML5的属性,但好在jQuery通用的,所以基本在所有浏览器里都是可以正常使用的,包括低版本的...

    jQuery中使用data()方法读取HTML5自定义属性data-*实例

    主要的方法如下: 代码如下:.data( key, value ).data( obj ).data( key ).data()从jQuery 1.4.3起, HTML 5 data- 属性 将自动被引用到jQuery的数据对象中。例如HTML: 代码如下:...

Global site tag (gtag.js) - Google Analytics